Condicionais
As sentenzas condicionais permítennos executar ou non certas instrucións dependendo do resultado de avaliar unha condición.
As máis frecuentes son a instrución if e a instrución switch.
Sentenza if....elseif...else
É unha das sentenzas mais importantes de calquera linguaxe. A súa estrutura é a seguinte:
<?php
if (condición1) {
Sentenzas a executar cando a condición1 é certa.
} elseif (condición2) {
Sentenzas a executar cando a condición2 é certa
} else {
Sentenzas a executar cando a condición1 e a condición2 son falsas.
}
?>
if abreviado
Se queremos facer unha asignación en base a unha comprobación, unha forma abreviada de facelo podería ser:
<?php
// Por exemplo
if ($a>$b)
$resultado= "A é máis grande que B";
else
$resultado= "B é máis grande que A";
// Podería quedar así:
$resultado = ($a>$b) ? "A é máis grande que B":"B é máis grande que A";
?>
A sentenza if executa unha serie de instrucións ou outras dependendo da condición que lle poñamos. Probablemente sexa a instrución máis importante en calquera linguaxe de programación.
<html>
<head>
<title>Exemplo de PHP</title>
</head>
<body>
<?php
$a =4;
echo "<p>a = $a</p>";
$b = 8;
echo "<p>b = $b</p>";
if ($a < $b)
{
echo "<p>'a' é menor que 'b'</p>";
}
else if ($a == $b)
{
echo "<p>'a' é igual a 'b'</p>";
}
else
{
echo "'a' é maior que 'b'</p>";
}
?>
</body>
</html>
Sentenza switch ... case
Esta sentenza nos permite comparar unha variable con distintos valores, vexamos un exemplo:
<html>
<head>
<title>Exemplo de PHP</title>
</head>
<body>
<?php
$posicion = "arriba";
switch($posicion) {
case "arriba": // Bloque 1
echo "<p>A variable contén";
echo " o valor arriba</p>";
break;
case "abaixo": // Bloque 2
echo "<p>A variable contén";
echo " o valor abaixo</p>";
break;
default: // Bloque 3
echo "<p>A variable contén outro valor";
echo " distinto de arriba e abaixo</p>";
}
?>
</body>
</html>
Coa sentenza switch podemos executar unha ou outras instrucións dependendo do valor dunha variable, no exemplo anterior, dependendo do valor da variable $posicion execútase o bloque 1 cando o valor é "arriba", o bloque 2 cando o valor é "abaixo" e o bloque 3 se non é ningún dos valores anteriores.