http://www.php.net/manual/fr/language.r ... .arent.php
Ici, la doc explique quelque chose que je ne comprends pas trop. J'ai envie de dire : quel est le problème ? En quoi cela va nous montrer que les ref ne sont pas des pointeurs, et quel rapport avec la fonction ?<?php
function foo(&$var) {
$var =& $GLOBALS["baz"];
}
foo($bar);
?>
Perso, ce que je vois, c'est que dans la fonction, $var se voit attribuer une autre référence que $bar, ... Et que donc si on cherchait, à travers cette fonction, à mettre $bar en référence de $GLOBALS["baz"], c'est raté. Ai-je loupé un truc ? Quelque chose de caché ?
Et d'ailleurs, je trouve que tout est pointeur. Car l'exemple suivant :
<?php
$a = "contenu";
$b = &$a;
$a = "contenu modifié";
unset($a);
echo $b; // On obtient "Contenu modifié"
montre que $b n'est pas un simple alias de $a, puisque si $a disparait, $b devrait pas ressembler à grand chose ... Mais si on explique (sauf erreur de ma part), que $b pointe sur le même zval que $a, j'ai envie de dire : cqfd. On pourrait presque utiliser le noms de pointeur, mais en précisant bien que rien à voir avec la RAM ^^D'ailleurs drole :
Des commentaires ?$a = "contenu";
$b = &$a;
$a = &$b;
$a = &$a;
$b = &$b;