Pbcopie de tableau après utilisation de références -COMPLEXE
Posté : 29 juin 2007, 11:48
Plutot qu'un long discours, voila un bout de code qui reproduit mon pb
La copie est altérée aussi ... 
Pourquoi le fait de créer un pointeur sur un tableau rend induplicable ce tableau ?
Suis-je tombé sur un bug ? Comment faire pour obtenir une copie
// un tableau de démo
$tree['one']['two']['three'] = '__LEAF__';
// On affiche le contenu
print_r($tree);
// crée un pointer sur le tableau
$pointer = &$tree;
// parcour le tableau jusqu'a la premiere feuille
// Ca n'alter rien ca parcours, a la fin du while, echo $pointer retournerai __LEAF__
while(is_array($pointer)) {
$key = key($pointer);
$pointer = &$pointer[$key];
}
// copy le tableau
$copy = $tree;
// Modifie la feuille
$tree['one']['two']['three'] = 'ALTER';
// Affiche le tableau d'origine et la copy
print_r($tree);
print_r($copy);
Et le résultat
Code : Tout sélectionner
Array ( [one] => Array ( [two] => Array ( [three] => __LEAF__ ) ) )
Array ( [one] => Array ( [two] => Array ( [three] => ALTER ) ) )
Array ( [one] => Array ( [two] => Array ( [three] => ALTER ) ) )Pourquoi le fait de créer un pointeur sur un tableau rend induplicable ce tableau ?
Suis-je tombé sur un bug ? Comment faire pour obtenir une copie