2010-12-04 15 views
9
function fun1(); 
function &fun1(); 

¿Cuál es la diferencia entre estos?diferencia entre función y función &

+0

http://www.php.net/manual/en/language.references.return.php – user187291

+2

perdón por el idiota. No estaba seguro de si había alguna diferencia cuando se usaba a través de una función. –

Respuesta

16

Si coloca un ampersand antes del nombre de su función, la función devolverá una referencia a una variable en lugar del valor.

La devolución por referencia es útil cuando desea utilizar una función para encontrar a qué variable debe vincularse una referencia. No use devolución por referencia para aumentar el rendimiento. El motor automáticamente optimiza esto por sí mismo. Solo referencias de devolución cuando tiene una razón técnica válida para hacerlo.

A partir del PHP Manual on Returning References.

+0

así que si regreso por referencia (digamos $ var = diversión (123)) ¿eso significa que cuando cambio $ var, entonces realmente cambia la variable dentro de la función (la variable dentro de diversión)? –

+0

La referencia apuntará a la misma dirección de memoria. Cuando modifica la referencia, también modifica el objeto original. –

+0

Este sitio también puede ser de ayuda: http://www.elated.com/articles/php-references/ –

4

La diferencia es cómo se devuelve el valor de retorno: Sin &, el valor de retorno se devuelve por valor y with & the return value is returned by reference.

Esto último implica que necesita utilizar una variable en la instrucción return ya que solo puede hacer referencia a las variables.

Cuestiones relacionadas