Comparar con cero en php

PHP tiene mucha flexibilidad y muchas herramientas para comparar valores aunque no deja de tener algunas particularidades especiales a la hora de tratar los valores vacíos, por ejemplo si tenemos:

a = ‘’;

si hacemos a == 0 esto devolverá true y si hacemos (int)a === 0 también devolverá true.

Con ello sacamos la conclusión de que el valor vacío de una cadena al llevarlo a valor numérico es cero. Como otro ejemplo si tenemos un formulario el cual tiene valor 0 (un input de texto por ejemplo, aunque es válido para todos) al recibirlo nuestro script en PHP tendríamos que:

si hacemos $_POST[‘variable’] === 0 esto daría false tenemos que compararlo de esta forma $_POST[‘variable’] === ‘0’ (como cadena).

Concluyendo: si utilizamos el operador == los siguientes valores son iguales 0, ‘0’, (int)’’, ‘’, FALSE, false. En cambio si utilizamos el operador === todos estos valores son distintos salvo (int)’’ que si es igual a 0.

Comentarios