par
moogli » 28 mai 2012, 12:13
salut,
le & indique un passage par référence et non par valeur ?
Qu'est ce que ça signifie ?
un passage par valeur est simple à comprendre, on passe un valeur c'est tout.
Un passage par référence c'est le fait de donner à la fonction "l'adresse" de la variable et non sa valeur, ont dit que l'on passe une référence sur la variable.
le fait de passer une référence permet à la fonction qui reçois cette référence d'utiliser directement la variable (sans tenir compte de la portée des variables).
<?php
function explodeTree($parts)
{
$returnArr=array();
$parentArr=&$returnArr; // créer une référence et non un copie
foreach ($parts as $part){
$parentArr[$part]=array();
$parentArr=&$parentArr[$part]; // idem
}
return $returnArr;
}
?>
$returnArr est donc modifié à chaque affectation de $parentArr.
@+