Llamar a una función con una variable 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?

Deberías empezar a usar YA la versión 7.4 de PHP

Es posible que estés usando la versión 7.0 de PHP y creas que estás casi a la ultima. Pues tengo malas noticias para tí… estás usando una versión muy viejuna que ya no tiene soporte oficial. De hecho hace unos pocos días la versión 7.1 ya no tiene soporte. Y ojito que en la 7.2 … Leer más Deberías empezar a usar YA la versión 7.4 de PHP

¡Deja de usar mysql_query() en PHP!

Si llevas años con PHP seguramente te habrás acostumbrado a las funciones mysql_query() y similares. ¡Deja ya de usarlas! Hay varias razones para olvidarte de ellas: En la versión 7.0 se eliminó por completo el soporte para mysql_query() y las funciones asociadas. Así que si tu proyecto las usa vas a tener que eliminarlas si … Leer más ¡Deja de usar mysql_query() en PHP!

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.