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.