Pues me parece que lo q has escrito está mal..
te da el mismo resultado pero si te fijas no estás referenciando la varaible $a
lo q estas haciendo es llamar a una función q devuelve un valor y luego se lo asignas a $a
pero si en vez de asignarlo a $a se lo asignas a por ejemplo $b y luego imprimes $a entonces te devolverá 5 en vez de 6...
Código PHP:
function &retref($var)
{
$var += 1;
return $var;
}
$a = 5;
$b =& retref($a);
echo $a;
PHP creo q a veces tiene un compilador demasiado poco sensible...c es más estricto...y no te deja poner & donde te plazca...
en este ejemplo no te da ningún error pero no se yo si es un buen modo de programar...
creo q el modo de hacerlo correctamente por lo menos desde el punto de vista de c sería el siguiente...
Código PHP:
function retref($var)
{
$var += 1;
return $var;
}
$a = 5;
$b = retref(&$a);
echo $a;
en
lo q en realdiad devuelves es el valor q hay en la posición de memoria de $a
Espero q te haya aclarado algo..pq no se q decrite ya jeje
Salu2.