Cómo utilizar el operador de fusión null de PHP

Cómo utilizar el operador de fusión null de PHP

En programación, a menudo se desea asignar un valor predeterminado a una variable si no está definida. El operador de fusión null de PHP es una herramienta útil para simplificar y hacer más legible el código que realiza esta tarea. En este artículo, aprenderás cómo utilizar el operador de fusión null de PHP en tus proyectos.

📋 Aquí podrás encontrar✍
  1. ¿Qué es el operador de fusión null?
  2. Usando el operador de fusión null
  3. Usando el operador de fusión null con funciones
  4. Conclusión
  5. Preguntas frecuentes
    1. ¿Qué ocurre si ambos operandos son nulos?
    2. ¿El operador de fusión null reemplaza completamente la función isset()?
    3. ¿Puedo encadenar varios operadores de fusión null?
    4. ¿Cómo puedo utilizar el operador de fusión null en valores booleanos?

¿Qué es el operador de fusión null?

El operador de fusión null de PHP, denotado por dos signos de interrogación juntos (??), devuelve su primer operando si existe y no es nulo, de lo contrario devuelve su segundo operando. Este operador se utiliza con frecuencia para proporcionar valores predeterminados a las variables.

Usando el operador de fusión null

Para utilizar el operador de fusión null, simplemente escribe dos signos de interrogación juntos (??) entre los valores que deseas comparar. Aquí hay un ejemplo:


$variable1 = null;
$variable2 = "Hola mundo!";

echo $variable1 ?? "Valor predeterminado"; // salida: "Valor predeterminado"
echo $variable2 ?? "Valor predeterminado"; // salida: "Hola mundo!"

En el ejemplo anterior, la variable1 no está definida, por lo que el operador de fusión null devuelve el valor predeterminado proporcionado. La variable2 está definida, por lo que el operador de fusión null devuelve su valor.

El operador de fusión null también se puede utilizar en valores de array. En este caso, el operador devolverá el valor del índice del array si existe, de lo contrario, devolverá su valor predeterminado. Aquí hay un ejemplo:


$array = [];

echo $array['valor'] ?? "Valor predeterminado"; // salida: "Valor predeterminado"

En el ejemplo anterior, el índice "valor" no existe en el array, por lo que el operador de fusión null devuelve el valor predeterminado proporcionado.

Usando el operador de fusión null con funciones

El operador de fusión null también se puede utilizar con funciones para proporcionar un valor predeterminado si no se devuelve ningún valor en la función. Aquí hay un ejemplo:


function obtenerNombre() {
// no se devuelve ningún valor
}

$nombre = obtenerNombre() ?? "Nombre predeterminado";

echo $nombre; // salida: "Nombre predeterminado"

En el ejemplo anterior, la función obtenerNombre no devuelve ningún valor, por lo que el operador de fusión null devuelve el valor predeterminado proporcionado.

Conclusión

El operador de fusión null de PHP permite asignar valores predeterminados a variables, valores de array y resultados de funciones de manera más eficiente y legible en el código. Al utilizar este operador, se pueden reducir las líneas de código necesarias para realizar tareas comunes de programación.

Preguntas frecuentes

¿Qué ocurre si ambos operandos son nulos?

Si ambos operandos son nulos, el operador de fusión null devolverá el segundo operando. Aquí hay un ejemplo:


$variable1 = null;
$variable2 = null;

echo $variable1 ?? $variable2 ?? "Valor predeterminado"; // salida: "Valor predeterminado"

En el ejemplo anterior, ambos operandos son nulos, por lo que el operador de fusión null devuelve el valor predeterminado proporcionado.

¿El operador de fusión null reemplaza completamente la función isset()?

No, el operador de fusión null no reemplaza la función isset(). El operador de fusión null solo se utiliza para proporcionar un valor predeterminado si el valor de la variable u operando es nulo. La función isset(), por otro lado, se utiliza para determinar si una variable está definida y no es nula.

¿Puedo encadenar varios operadores de fusión null?

Sí, es posible encadenar varios operadores de fusión null. En este caso, el operador evalúa cada operando de izquierda a derecha hasta que se encuentra un valor que no sea nulo. Aquí hay un ejemplo:


$variable1 = null;
$variable2 = null;
$variable3 = "Hola mundo!";

echo $variable1 ?? $variable2 ?? $variable3 ?? "Valor predeterminado"; // salida: "Hola mundo!"

En el ejemplo anterior, los primeros dos operandos son nulos, por lo que el operador de fusión null evalúa el tercer operando, que tiene un valor definido.

¿Cómo puedo utilizar el operador de fusión null en valores booleanos?

El operador de fusión null también se puede utilizar con valores booleanos. En este caso, el valor nulo y el valor booleano falso son tratados de manera equivalente. Aquí hay un ejemplo:


$bool1 = true;
$bool2 = false;
$bool3 = null;

echo $bool3 ?? $bool2 || $bool1; // salida: "1" (verdadero)

En el ejemplo anterior, el operador de fusión null devuelve el valor booleano verdadero ($bool1) ya que los otros dos operandos son nulos o falsos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir