(0 votos)

Cuando programamos en php, al principio puede parecernos complicado, pero es normal, es algo nuevo.

Pero la realidad es bien distinta. Aunque con php se pueden llegar a hacer cosas realmente complicadas, y tiene funciones también complicadas, php en si es bastante simple y son cinco cosas las que hay que aprender para empezar:

  1. IF
  2. SWITCH
  3. FOR
  4. WHILE
  5. FUNCTION

Una vez aprendes su sintaxis y practicas un poco, cuando ya te has familiarizado con la sintaxis de php y sus elementos más básicos, lo demás es muy simple. Cualquier cosa que necesites hacer, ya existe y solo debes buscar el nombre de la función y mirar su sintaxis.

Volviendo a lo más básico, vamos a empezar con la condicional if.

En php, como en cualquier lenguaje de programación, es muy común evaluar operaciones para, según su resultado, hacer una u otra acción.

Los operadores para evaluar operaciones son igual (==), distinto (!=), menor que (<), mayor que (>), menor o igual que (<=) mayor o igual que (>=).

Un ejemplo sería permitir el acceso a una zona concreta:

si el usuario se ha logueado{

entrar en esta sección

}

en caso contrario{

mostrar mensaje de error

}

 

Pero vamos a empezar con un caso más sencillo para que podais probarlo, pues el tema del login es algo complejo para empezar por ahí.

 

<?php
$a = 5;
$b = 6;
if($a > $b){
echo "$a es mayor que $b";
}
else{
echo "$b es mayor o igual a $a";
}
echo "<br>Fin de la comprobación";
?>

El acceder al archivo php que contiene este código, nos mostrará el siguiente mensaje: 6 es mayor o igual a 5

Probad el codigo, cambiando el valor de cada variable, a ver que os sale.

En este caso, lo primero que se hace es evaluar la expresión que hay entre paréntesis detrás del if. Si es cierta, es decir, en este caso si $a es mayor que $b, se ejecuta el codigo que hay entre las llaves {}. En caso contrario, cuando $a no es mayor que $b, entonces continua a partir de else, ejecutando el código que hay entre las llaves {} detrás del else.

Hay que tener varias cosas en cuenta. La primera es que la estructura if/else contiene dos campos ecerrados entre llaves "{ }". El primero, que va detrás de la operación entre parentesis "( )", contiene el código que se ejecutará solo si se cumple la condición evaluada. El segundo, solo se ejecutará si el primero no lo hace, es decir, si no se cumple la condición evaluada.

Nunca se van a ejecutar los dos y siempre se ejecutará alguno de los dos.

En nuestro ejemplo, el mensaje "Fin de la comprobación" saldrá siempre, pase lo que pase al evaluar la operación, pues está fuera de las llaves "{ }" y no forma parte de la estructura if/else.

"Si se cumple, haz esto, si no, haz esto otro"... ¿y qué pasa si no hay nada que queramos hacer en caso de que no se cumpla?. Es algo muy frecuente. El comando else es opcional. Sirve para ejecutar un código solo si no se cumple la condición. Si no hay nada que queramos ejecutar solo en ese caso, no usamos else. Cualquier código que queramos que se ejecute tras la comprobación del if, pero que queramos que se ejecute siempre, independientemente del resultado de la comprobación del if, debe ir fuera de las llaves, sin incluirlo en un else. Esto hay que tenerlo bien claro.

En nuestro ejemplo, el código encerrado en las primeras llaves, solo se ejecutará si a es mayor que b, pero ¿qué pasa si queremos que se ejecute en caso contrario, es decir, cuando a no es mayor que b? No hay que confundir que a no sea mayor que b, con que a sea menor que b. Vale, es cierto que si a es menor que b, a no es mayor que b, pero también es cierto que si a es igual que b, a no es mayor que b.

Para no liarnos. Como hemos planteado la operación a evaluar, solo se evaluará como cierta en un caso, cuando a sea mayor que b. Si queremos que se evalue como cierta en cualquier otro caso, es decir, cuando a es menor o igual que b, entonces ponemos un signo de exclamación (!) delante de la operación. Quedaría así:

<?php
$a = 5;
$b = 6;
if(!($a > $b)){
echo "$a no es mayor que $b, es decir, es menor o igual";
}
else{
echo "$a es mayor que $b";
}
echo "<br>Fin de la comprobación";
?>

En este caso no es necesario usar el signo de exclamación, pues al usar también la opción else podemos decidir que hacer en caso afirmativo y en caso negativo, pero si omitimos la opción else, entonces usamos el signo de exclamación (!) para evaluar como cierto (y ejecutar el código entre llaves) lo contrario de la operación, en este caso sería si (no ($a es mayor que $b)), es decir, cuando no se cumple.

El signo de exclamación (!) se utiliza para negar en más ocasiones. Por ejemplo, para comprobar si una variable está definida, utilizamos el condicional if y el comando isset, que sirve para comprobar si una variable existe.

<?php
if(isset($mi_variable)){
echo "Mi variable existe<br>";
}
?>

Para comprobar si nuestra variable existe, y además, saber si contiene algún valor, utilizaríamos una condicional if, dentro de otra condicional if (esto es algo muy frecuente).

<?php
if(isset($mi_variable)){
if(!empty($mi_variable)){
echo "Mi variable existe y contiene el valor $mi_variable<br>";
}
else{
echo "Mi variable existe, pero está vacía<br>";
}
}
else{
echo "Mi variable no existe<br>";
}
?>

Cuando trabajamos con condicionales, bucles, funciones o culaquier otra cosa que contenga llaves hay que usar el tabulador para identar el código, de forma que a simple vista se vea qué parte del código pertenece a la función que ha abierto esas llaves. Las llaves siempre significan eso, que el código dentro de ellas pertenece a la función que abre las llaves. Muchas veces, sobre todo cuando tenemos funciones dentro de funciones, si no identamos el código, no hay quien vea donde acaba una función y donde empieza la otra.

Quedaría así (lo pongo en una imágen porque la web no me deja identarlo):

Esto es todo por hoy. En la próxima entrada veremos "operadores lógicos".

Comentarios (2)
  • Anónimo
    avatar
    :ooo: :0 ;)) ;) :sleep: :D :angry: :angry-red: :evil: :?: :( :pirate:
  • Rodalo
    avatar
    Muy buena la ayuda, me gusta la manera tan simple y limpia en que explicas tus ejemplos, gracias. ;))
¡Sólo los usuarios registrados pueden escribir comentarios!