Las sentencias condicionales son sentencias que alteran el flujo de ejecución haciendo que se ejecute un bloque u otro según la evaluación de una determinada codición.
if / elseif /
else
. La sentenciaif
permite definir una expresión para ejecutar o no la sentencia o conjunto de sentencias siguiente. Si la expresión se evalúa atrue
(verdadero), la sentencia se ejecuta. Si se evalúa afalse
(falso), no se ejecutará.Cuando el resultado de la expresión sea
false
, puedes utilizarelse
para indicar una sentencia o grupo de sentencias a ejecutar en ese caso. Otra alternativa aelse
es utilizarelseif
y escribir una nueva expresión que comenzará un nuevo condicional.<?php if ($a < $b) print "a es menor que b"; elseif ($a > $b) print "a es mayor que b"; else print "a es igual a b"; ?>
Cuando, como sucede en el ejemplo, la sentencia
if elseif
oelse
actúe sobre una única sentencia, no será necesario usar llaves. Tendrás que usar llaves para formar un conjunto de sentencias siempre que quieras que el condicional actúe sobre más de una sentencia.-
switch
. La sentenciaswitch
es similar a enlazar varias sentenciasif
comparando una misma variable con diferentes valores. Cada valor va en una sentenciacase
. Cuando se encuentra una coincidencia, comienzan a ejecutarse las sentencias siguientes hasta que acaba el bloqueswitch
, o hasta que se encuentra una sentenciabreak
. Si no existe coincidencia con el valor de ningúncase
, se ejecutan las sentencias del bloquedefault
, en caso de que exista.<?php switch ($a) { case 0: print "a vale 0"; break; case 1: print "a vale 1"; break; default: print "a no vale 0 ni 1"; } ?>