Un ampersand justo antes del nombre de la función devolverá una referencia a la variable en lugar de devolver su valor. La devolución por referencia es útil cuando desea utilizar una función para encontrar a qué variable debe vincularse una referencia. No utilice retorno por referencia para aumentar el rendimiento. En PHP 4, los objetos se asignaban por valor, como cualquier otro valor. Esto es muy contrario a la intuición y opuesto a cómo funcionan la mayoría de los otros idiomas.
Ejemplo: Este ejemplo demuestra el concepto detrás de poner un ampersand para iniciar una función de PHP.
La propiedad del objeto devuelto por la función getValue() se establecería en lugar de la copia como sería sin usar la sintaxis de referencia. A diferencia del paso de parámetros, aquí debe usar el ampersand en ambos lugares para indicar que desea regresar por referencia en lugar de una copia y para indicar que el enlace de referencia, en lugar de la asignación habitual, se debe realizar para $myValue .
<?php class student { public $value = 42; public function &getValue() { return $this->value; } } $obj = new student; // $myValue is a reference to // $obj->value, which is 42. $myValue = & $obj->getValue(); $obj->value = 2; // Prints the new value of // $obj->value, i.e. 2. echo $myValue; ?>
Producción:
2
Publicación traducida automáticamente
Artículo escrito por mayukh_bagchi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA