Ver Mensaje Individual
  #13 (permalink)  
Antiguo 05/07/2010, 20:48
Avatar de wiwi74
wiwi74
 
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 8 meses
Puntos: 10
Respuesta: Tratando de entender las referencias...

Y en el manual online quiza no encuentres esto (en español):

Lo que las Referencias no son

Como se ha mencionado antes, las Referencias NO son punteros. Esto significa que el siguiente ejemplo no hará lo que se espera:

Código PHP:

function foo (&$var)
{
    
$var =& $GLOBALS["baz"];
}
foo($bar); 

Lo que ocurrirá aquí es que $var en foo será 'ligada' con $bar al momento de llamar a la función. Pero luego será 're-ligada' con $GLOBALS["baz"]. No existe manera de ligar $bar en el ámbito global del script con alguna otra cosa utilizando el mecanismo de Referencias, ya que $bar no existe dentro de foo (está representado por $var, pero $var solo está ligado por el contenido, no por el nombre en la tabla de símbolos).


Otro ejemplo del manual:
Código PHP:

function foo (&$var)
{
    
$var++;
}

$a=5;
echo 
$a
foo
($a); 
//agregado: cuanto valdra $a ...?
echo "<br />".$a

What References Are Not:
http://www.php.net/manual/es/languag...nces.arent.php

Última edición por wiwi74; 05/07/2010 a las 21:02