Page 1 sur 1

L'operateur &

Posté : 03 févr. 2008, 21:37
par steven-ah
<?php
$aMen = array('Fred', 'Bob', 'Tim', 'John', 'Bill');
$aPartner = array('Sue', 'Mary', 'Ann', 'Cathy', 'Nancy');
asort($aMen);                   // aMen now sorted; numeric keys out of order
$aWomen = array_keys($aMen);    // create a new array for result
foreach ($aWomen as $idx => &$name) $name=$aPartner[$name];
                                // aWomen now has the sorted partners
$aMen = array_merge($aMen);     // put the numeric keys in order
?> 
Bonjour,
voici un script que j'ai trouve par hasard sur internet,
mais je n'ai pas vraiment compris l'utilisation de l'operateur & dans:
foreach ($aWomen as $idx => &$name)
Pouvez-vous m'aider et m'expliquer la fonction de & ici?

merci

Posté : 03 févr. 2008, 22:03
par zeus
C'est ce qui est appelé un passage par référence.

Pour comprendre le mécanisme, et plutôt que de faire un grand discours où je serais forcément moyen, je te redirige vers la documentation officielle

Posté : 04 févr. 2008, 14:14
par Gofromiel
Les références c'est surtout utilisées en PHP4 pour éviter de "cloner" les objets e.g. "$ref =& $obj" ou pour un callback "array(&$obj, 'fonction')". Cela ne sert plus à grand chose avec PHP5 puisque les objets sont automatiquement passés en tant que référence (ce qui est quand même plus logique).