par
niuxe » 08 mars 2010, 13:41
Et l'eau,
C'est égale à 3. Donc je ne vois pas la différence. Ensuite, que je mette une éperluette ou pas à mon erreur, il me dit toujours la même chose. Je comprends pas trop le rapport

Rooo, tu es arrivée à me faire douter. Pas glop.
fichier1.php
<?php
$a = 1;
$b = &$a;
$a = 3;
echo $b;
?>
fichier2.php
<?php
$a = 1;
$b = $a;
$a = 3;
echo $b;
?>
Tu n'auras pas le même résultat :
fichier 1 : b = 3
fichier 2 : b = 1 puisque B est déclarée à la ligne 1 et est une variable simple non pas une référence.
dans le fichier 1 : si A est égale à une valeur partout dans le script, b aura la même référence (valeur). Ils vont travailler de concert. Tu n'as plus une variable avec une valeur, mais deux variables avec la même valeur !
<?php
$a = 1;
$b = &$a;
$a = 3;
$a = 10;
$a = 22 + 10; //32
$a += $a; // 64
echo $b; // 64 puisque B est la référence de a
?>
<?php
$a = 1;
$b = &$a;
$a = 3;
$a = 10;
$a = 22 + 10; //32
$a += $a; // 64
$b++;
echo $b; // 65
echo $a; // 65
?>
Stealth : avoue que ton code est plutôt chaud à lire aux premiers abords. Enfin pour moi, quand je vois ce genre de chose, j'ai les cheveux qui se dressent à la tokio hotel ou à la Désirelless

(the cure aussi c'est pas mal). Cependant ton exemple est bon aussi. Mais là on peut confondre avec les variables locales d'une fonction. ^^
Au passage, le sujet déborde. Il aurait fallu peut être ouvrir un sujet approprié. Là, on est un peu loin du notice de départ.
bon code ^^