Operador ternario vs operador coalescente nulo en PHP

Operador Ternario

El operador ternario es el operador condicional que ayuda a reducir el número de líneas en la codificación al realizar comparaciones y condicionales. Es un método alternativo de usar declaraciones if else y if else anidadas. El orden de ejecución es de izquierda a derecha. Es absolutamente la mejor opción para ahorrar tiempo. Produce un aviso electrónico al encontrar un valor nulo con sus condicionales.

Sintaxis:

(Condition) ? (Statement1) : (Statement2);

En el operador ternario, si la declaración de condición es verdadera, entonces se ejecutará la declaración 1; de lo contrario, se ejecutará la declaración 2.

Método alternativo de operación condicional:

if (Condition) {
    return Statement1;
} else {
    return Statement2;
}

Ejemplo:

<?php
  
// PHP program to check number is even
// or odd using ternary operator
  
// Assign number to variable
$num = 21;
  
// Check condition and display result
print ($num % 2 == 0) ? "Even Number" : "Odd Number";
?>
Producción:

Odd Number

Operador coalescente nulo

El operador coalescente nulo se utiliza para verificar si la variable dada es nula o no y devuelve el valor no nulo del par de valores personalizados. El operador Null Coalescing se usa principalmente para evitar que la función del objeto devuelva un valor NULL en lugar de devolver un valor optimizado predeterminado. Se utiliza para evitar excepciones y errores del compilador, ya que no produce E-Notice en el momento de la ejecución. El orden de ejecución es de derecha a izquierda. Durante la ejecución, el operando del lado derecho que no es nulo sería el valor de retorno, si es nulo, el operando de la izquierda sería el valor de retorno. Facilita una mejor legibilidad del código fuente.

Sintaxis:

(Condition) ? (Statement1) ? (Statement2);

Método alternativo de operación condicional:

// The isset() function is used to take
// care that the condition is not NULL
if ( isset(Condition) ) {   
    return Statement1;
} else {
    return Statemnet2;
}

Ejemplo:

<?PHP
  
// PHP program to use Null 
// Coalescing Operator
  
// Assign value to variable
$num = 10;
  
// Use Null Coalescing Operator 
// and display result
print ($num) ?? "NULL";
  
?>
Producción:

10

Diferencia entre el operador ternario y el operador coalescente nulo:

  • El operador ternario es asociativo por la izquierda, mientras que el operador Null Coalescing es asociativo por la derecha.
  • El operador ternario arroja un aviso electrónico si el operando izquierdo es nulo, mientras que el operador coalescente nulo no arroja un aviso electrónico si el operando izquierdo no existe.
  • El operador ternario verifica si el valor es verdadero, pero el operador coalescente nulo verifica si el valor no es nulo.
  • Si hay que ejecutar más iteraciones, se encontró que el operador de fusión nulo es más rápido que el operador ternario.
  • El operador coalescente nulo también ofrece una mejor legibilidad comparativamente.

Publicación traducida automáticamente

Artículo escrito por MerlynShelley y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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