Una ilustración de mi nuevo libro de PHP

Imagen del libro Aliens contra Elefantes

Aquí tenéis una nueva imagen del libro Aliens contra Elefantes – Buenas prácticas en PHP que estoy preparando. Probablemente el mejor libro de PHP de todos los tiempos (o eso diría mi abuela).

Aliens, explosiones, naves espaciales, PHP y buenas prácticas… diversión y aprendizaje todo en uno ¿Qué más se puede pedir?

Llamar a una función con una variable en PHP

Operadores en PHP

Si a una variable que contiene el nombre de una función le añadimos un paréntesis estaremos llamando a la función:

function hola()
{
    echo "Hola!\n";
}
 
$nombreFuncion = 'hola';
 
$nombreFuncion(); // Esto funciona
'hola'(); // ¡Y esto también!

Seguro que la primera forma ya la conocías ¿pero sabías que podías hacerlo con una cadena?

Un ejemplo para entender el operador !== (no idéntico) en PHP

El operador ‘!=’ confunde los ceros con false. En casos como este debemos usar ‘!==’:

function numero($valor)
{
    if (is_numeric($valor)) {
        return $valor;
    }
    return false;
}
 
$elNumero = "0";
 
var_dump(numero($elNumero));
 
if (numero($elNumero)!==false) {
    echo "Usando === nos dice que es un número.\n";
}
 
if (numero($elNumero)!=false) {
    echo "Usando == nos dice que es un número.\n";
}
  • Con $elNumero = 1; funciona correctamente.
  • Con $elNumero = 0; el operador ‘!=» da un resultado erróneo.

La razón es que ‘!=’ confunde el número 0 con false.