¿Qué significa iniciar una función PHP con un ampersand?

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

Deja una respuesta

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