Saltar al contenido

Operador de asignación de referencia en PHP, =&

Esta es el arreglo más válida que te podemos dar, sin embargo obsérvala detenidamente y valora si se adapta a tu trabajo.

Solución:

No está en desuso y es poco probable que lo esté. Es la forma estándar de, por ejemplo, hacer parte de una array o reflejar los cambios realizados en otro objeto, en lugar de copiar los datos existentes.

Se llama asignación por referencialo que, para citar el manual, “significa que ambas variables terminan apuntando a los mismos datos, y nada se copia en ninguna parte”.

Lo único que es obsoleto con =& es “asignar el resultado de new por referencia” en PHP 5, lo que podría ser fuente de confusión. new se asigna automáticamente por referencia, por lo que & es redundante/obsoleto en$o = &new C;pero no en $o = &$c;.


Dado que es difícil de buscar, tenga en cuenta que =& (es igual a ampersand) es lo mismo que = & (es igual al espacio ampersand) y a menudo se escribe de tal manera que se encuentra con la otra variable como $x = &$y['z']; o $x = &$someVar (ampersand signo de dólar nombre de variable). Ejemplo simplificado de los documentos:

$a = 3;
$b = &$a;
$a = 4;
print "$b"; // prints 4

Aquí hay un enlace útil a una sección detallada sobre Asignar por referencia en el manual de PHP. Esa página es parte de una serie de referencias; vale la pena tomarse un minuto para leer la serie completa.

Son dos operadores diferentes. = es asignación como usted probablemente sabe. Y & significa que se debe acceder a la variable por referencia en lugar de por valor.

$x = &$y['z'];

también tiene el efecto de crear $y['z'] si no existe, y establecerlo en null.

Esto evita mensajes de error que quizás haya querido leer. Todavía no he encontrado documentación sobre esto; posiblemente nuevo en 5.3, por lo que sé.

Si crees que ha sido útil este post, sería de mucha ayuda si lo compartieras con más desarrolladores de esta forma contrubuyes a extender nuestro contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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