Como todo lenguaje de programación, PHP permite el uso de sentencias de control para controlar el flujo del programa.
Pueden ser condicionales o selectivas (usadas para determinar si se debe procesar cierta parte del código fuente) o repetitivas o iterativas (las usaremos cuando necesitamos que una parte del código fuente sea repetido varias veces).

Relacionado: [ Sentencias de control ]
Crearemos una sentencia condicional simple en PHP usando if(), del siguiente modo:
<?php
$x = 33;
if( $x == 33 )
{
$x = 55;
}
// Se mostraría "Ahora el valor de 'x' es [55]":
echo "Ahora el valor de 'x' es [$x]";
?>
También podemos crear sentencias condicionales dobles tal y como mostramos en el siguiente ejemplo, en el cual, en caso de que el valor de la variable '$x' sea mayor o igual de 100 o bien menor de dicho número, se mostrará el mensaje adecuado en cada caso.
<?php
$x = 80;
if( $x >= 100 )
{
echo "Mayor o igual de 100";
}
else
{
echo "Menor de 100";
}
?>
No será necesario poner las llaves si cuando se cumple una condición sólo se procesará una instrucción:
<?php
$x = 80;
if( $x >= 100 )
echo "Mayor o igual de 100";
else
echo "Menor de 100";
?>
También es posible usar la sentencia if() para crear una sentencia condicional múltiple, tal y como puedes ver en el siguiente ejemplo en el que usamos else if (también se puede escribir elseif) para establecer otra condición:
<?php
$x = -80;
if( $x >= 100 ) {
echo "El valor es igual o mayor de 100";
}
else if( x >= 0 ) {
echo "El valor está entre 0 y 99";
}
else {
echo "El valor es negativo";
}
?>
EXPLICACIÓN: si el valor de la variable '$x' es igual o mayor de 100 se mostrará el primer mensaje, si está entre cero y 99 el segundo, y si el valor es negativo (como es el caso) se mostrará el tercer mensaje.
Además de if() podemos usar la sentencia condicional switch() cuando debamos controlar entre varias posible condiciones:
<?php
$dia = 3;
switch( $dia )
{
case 1:
echo "Lunes";
break;
case 2:
echo "Martes";
break;
case 3:
echo "Miércoles";
break;
case 4:
echo "Jueves";
break;
case 5:
echo "Viernes";
break;
case 6:
echo "Sábado";
break;
case 7:
echo "Domingo";
break;
default:
echo "Valor no válido";
}
?>
También podemos escribir la sentencia del siguiente modo:
<?php
$dia = "MIERCOLES";
switch( $dia )
{
case "LUNES":
echo 1;
break;
case "MARTES":
echo 2;
break;
case "MIERCOLES":
echo 3;
break;
case "JUEVES":
echo 4;
break;
case "VIERNES":
echo 5;
break;
case "SABADO":
echo 6;
break;
case "DOMINGO":
echo 7;
break;
default:
echo "Día no válido";
}
?>
Entre los paréntesis de switch() debemos poner la variable cuyo valor deseamos comparar, en los case los valores con los que deseamos compararla, y dentro de cada uno de ellos el código que se debe procesar.
No olvides escribir break al final de cada case porque de lo contrario, tras encontrarse una coincidencia y procesar el código fuente correspondiente, se continuarán evaluando el resto de opciones.
Si ninguno de los valores indicados en los case se corresponde con el de la variable, se ejecutará el código PHP dentro de default (si lo ponemos al final del switch() no es necesario usar break).
Otra forma de escribir una sentencia condicional múltiple usando switch(), sería:
<?php
$dia = 7;
switch( $dia )
{
case 1: case 2: case 3: case 4: case 5:
echo "Entre semana";
break;
case 6: case 7:
echo "Fin de semana";
break;
default:
echo "Valor no válido";
}
?>
EXPLICACIÓN: en caso de que la variable '$dia' tenga un valor de entre 1 y 5 se mostaría 'Entre semana', si tiene un valor de 6 ó 7 se mostraría 'Fin de semana', y en cualquier otro caso devolvería 'Valor no válido'.
Puedes poner todos los case en la misma línea (como en el ejemplo anterior), o bien cada uno de ellos debajo del anterior:
<?php
$dia = 7;
switch( $dia )
{
case 1:
case 2:
case 3:
case 4:
case 5:
echo "Entre semana";
break;
case 6:
case 7:
echo "Fin de semana";
break;
default:
echo "Valor no válido";
}
?>
Por último, si necesitáramos evaluar una expresión en cada case deberíamos proceder según te mostramos en el siguiente ejemplo:
<?php
$dia = 5;
switch( true )
{
case ($dia >= 1 && $dia <= 5) :
echo "Entre semana";
break;
case ($dia == 6 || $dia == 7) :
echo "Fin de semana";
break;
default:
echo "Valor no válido";
}
?>
Observa que entre los paréntesis del switch() en lugar de poner la variable cuyo valor deseamos comparar hemos puesto el valor lógico 'true' para que se procese la sentencia, y en cada case la expresión a evaluar< deseada.
Para realizar comparaciones condicionales, aparte de las sentencias de control explicadas en este apartado podemos también usar el operador ternario explicado anteriormente.

Vea también: [ if() ] - [ elseif / else if ] - [ switch() ] - [ Información sobre el operador ternario ]

Relacionado: [ Sentencias condicionales en pseudocódigo ] - [ Ejemplos de sentencia SI ] - [ Ejemplos de sentencia CASO ]