voilà, j'ai une fonction qui me construit un tableau $topo
function topologicalOrder(& $vertices) { [...] for($w = 0; $w < count($topo); $w++) { echo " classe de $w ", get_class($topo[$w]), " \n"; } return $topo; }
j'appelle cette fonction plus loin :
$topo = topologicalOrder($vertices); for($w = 0; $w < count($topo); $w++) { echo " classe de $w ", get_class($topo[$w]), " \n"; } for($w = 0; $w < count($topo); $w++) { echo " classe de $w ", get_class($topo[$w]), " \n"; foreach($topo[$w]->out as $v) { $v = & $topo[$v]; [...] } }
A priori, les trois boucles for devraient afficher exactement la même chose, non ? (dans le [...], rien ne modifie $topo)
Et pourtant...
classe de 0 scheduleVertex classe de 1 scheduleVertex classe de 2 scheduleVertex classe de 3 scheduleVertex classe de 4 scheduleVertex classe de 5 scheduleVertex classe de 6 scheduleVertex classe de 7 scheduleVertex classe de 8 scheduleVertex classe de 9 scheduleVertex classe de 10 scheduleVertex classe de 11 scheduleVertex classe de 12 scheduleVertex classe de 13 scheduleVertex classe de 14 scheduleVertex classe de 15 scheduleVertex classe de 16 scheduleVertex classe de 17 scheduleVertex classe de 18 scheduleVertex classe de 0 scheduleVertex classe de 1 scheduleVertex classe de 2 scheduleVertex classe de 3 scheduleVertex classe de 4 scheduleVertex classe de 5 scheduleVertex classe de 6 scheduleVertex classe de 7 scheduleVertex classe de 8 scheduleVertex classe de 9 scheduleVertex classe de 10 scheduleVertex classe de 11 scheduleVertex classe de 12 scheduleVertex classe de 13 scheduleVertex classe de 14 scheduleVertex classe de 15 scheduleVertex classe de 16 scheduleVertex classe de 17 classe de 18 scheduleVertex
Il y a un trou pour n° 17, dans la seconde boucle for...
et dans la troisième :
classe de 0 scheduleVertex classe de 1 scheduleVertex classe de 2 scheduleVertex classe de 3 scheduleVertex classe de 4 scheduleVertex classe de 5 scheduleVertex classe de 6 scheduleVertex classe de 7 scheduleVertex classe de 8 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 598 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 Warning: Invalid argument supplied for foreach() in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 classe de 9 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 598 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 Warning: Invalid argument supplied for foreach() in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 classe de 10 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 598 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 Warning: Invalid argument supplied for foreach() in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 classe de 11 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 598 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 Warning: Invalid argument supplied for foreach() in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 classe de 12 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 598 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 Warning: Invalid argument supplied for foreach() in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 classe de 13 scheduleVertex classe de 14 scheduleVertex classe de 15 scheduleVertex Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 602 Warning: Attempt to assign property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 604 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 605 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 605 Warning: Attempt to assign property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 605 classe de 16 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 598 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 Warning: Invalid argument supplied for foreach() in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 classe de 17 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 598 Notice: Trying to get property of non-object in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 Warning: Invalid argument supplied for foreach() in /Users/flanker/Documents/ecole/these/experiences/SteadyState/classes.inc on line 600 classe de 18 scheduleVertex
J'ai donc l'impression que des éléments de $topo sont supprimés, alors que je ne fais que des lectures dans le tableau
