1

yop,

Existe-t-il un moyen simple en PHP de tester si deux variables référencent le même objet ? (et bien le même objet, pas deux objets égaux). En imaginant que ça existe et que ça s'écrive "====" par exemple, ça donnerait :
$a = 5;
$b = 5;

$a ==== $b; // faux

$a = 5;
$b =& $a;

$a ==== $b; // vrai


[edit] j'en profite aussi pour écarter une proposition particulièrement élégante que l'on vient de me proposer grin
y*** :
$save = $a; $a = "prout"; if ($b == "prout") pas bon
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

2

La page sur les références sur le site de PHP a un bon paquet de méthodes proposées pour ça : http://fr3.php.net/manual/fr/language.references.spot.php
avatar

3

oui mais aucune ne rentre dans la catégorie "simple" :/ (le but étant d'avoir un code le plus rapide possible)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4

Oué, mais je n'ai pas l'impression qu'il y ait de solution simple sorry
avatar

5

c'est vraiment pourri ce langage décidément ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

6

Et si tu génères un GUID à l'instanciation ? Remarque ça ferait sans doute échouer la comparaison normale... À moins qu'il y ait moyen de surcharger la comparaison ? (Est ce que ça se voit que je n'ai pas touché au php depuis des années ? grin)

7

Ben c'est un langage qui a été perverti, en fait. Sa mutation de langage de script en "vrai langage" fait qu'il est clairement bâtard (un jour va arriver où on ne pourra plus gérer les variables comme ça et où il faudra typer, vu comme c'est parti).
avatar

8

y'a de ça, et il souffre aussi d'un bon paquet d'aberrations de conception au départ :/
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

tiens, du coup j'ai un doute pour le faire en C++, c'est &var1==&var2 ?
Ancien pseudo : lolo

10

en C/C++ on utilise des pointeurs qui ne fonctionnent pas exactement comme les références, si tu veux comparer deux pointeurs il te suffit d'utiliser "==" oui (par contre dans ton exemple, si var1 et var2 sont deux variables différentes, il y a peu de chances pour que le test soit vérifié ^^)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

11

./7: ça a déja commencé, pour les classes ^^

12

Nil (./7) :
Ben c'est un langage qui a été perverti, en fait. Sa mutation de langage de script en "vrai langage" fait qu'il est clairement bâtard (un jour va arriver où on ne pourra plus gérer les variables comme ça et où il faudra typer, vu comme c'est parti).

epee
Et on ne parlera pas de toutes les incohérences entre les noms de fonction, les changements de comportement d'une version à l'autre, etc.. sad
avatar
<<< Kernel Extremis©®™ >>> et Inventeur de la différence administratif/judiciaire ! (©Yoshi Noir)

<Vertyos> un poil plus mais elle suce bien quand même la mienne ^^
<Sabrina`> tinkiete flan c juste qu'ils sont jaloux que je te trouve aussi appétissant

13

Spipu (./9) :
tiens, du coup j'ai un doute pour le faire en C++, c'est &var1==&var2 ?

Oui. Mais pour des variables classiques (style C), ce sera toujours faux, ce n'est que quand tu as des références (y compris les arguments passés par référence) que ça peut se produire. Et bien sûr, si var1 et var2 sont déjà des pointeurs, alors c'est probablement var1==var2 que tu veux.

(Désolé pour le HS sur le C++.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

14

ok merci smile
Ancien pseudo : lolo