Acabo de ver un video sobre las próximas características de PHP 7.4 y vi este ??=
nuevo operador. Ya conozco al ??
operador. ¿Cómo es esto diferente?
10
De los documentos :
Coalesce igual o ?? = operador es un operador de asignación. Si el parámetro izquierdo es nulo, asigna el valor del parámetro derecho al izquierdo. Si el valor no es nulo, no se hace nada.
Ejemplo:
// The folloving lines are doing the same
$this->request->data['comments']['user_id'] = $this->request->data['comments']['user_id'] ?? 'value';
// Instead of repeating variables with long names, the equal coalesce operator is used
$this->request->data['comments']['user_id'] ??= 'value';
Entonces, básicamente es solo una abreviatura para asignar un valor si no se ha asignado antes.
The folloving lines...
En PHP 7, esto se lanzó originalmente, lo que permite a un desarrollador simplificar una verificación isset () combinada con un operador ternario. Por ejemplo, antes de PHP 7, podríamos tener este código:
Cuando se lanzó PHP 7 , pudimos escribir esto como:
Ahora, sin embargo, cuando se lanza PHP 7.4 , esto se puede simplificar aún más en:
Un caso en el que esto no funciona es si está buscando asignar un valor a una variable diferente, por lo que no podrá utilizar esta nueva opción. Como tal, aunque esto es bienvenido, puede haber algunos casos de uso limitado.
fuente
El operador de asignación de fusión nula es una forma abreviada de asignar el resultado del operador de fusión nula.
Un ejemplo de las notas oficiales de la versión :
fuente
Documentos de ejemplo :
fuente