Bonjour !
J'ai un chti souci avec un clone placé dans une boucle
J'aimerais dans chaque tour de boucle, cloner un objet, initialiser ses attributs avec des valeurs et le pusher dans tableau
Or, à la sortie de la fonction mon tableau est initialiser avec la même instance dans toute ses cases ...
Voici mon bout de code :
J'ai ensuite pensé que ça venait du fait que j'utilisais une même var ($oTemp)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 if($stmt->execute()){ foreach($stmt->fetchall(PDO::FETCH_ASSOC) as $rowRes){ $oTemp = clone $this; $oTemp->raz(); foreach($oTemp->column as $key => $column) $column->setNull(true); foreach($rowRes as $key => $rowValue) $oTemp->column[$key]->setValue($rowValue); $aReturn[] = $oTemp; } }
J'ai changé mon code pour tester autre chose :
Mais le résultat est le même ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 if($stmt->execute()){ $nI = 0; foreach($stmt->fetchall(PDO::FETCH_ASSOC) as $rowRes){ $aReturn[$nI] = clone $this; $aReturn[$nI]->raz(); foreach($aReturn[$nI]->column as $key => $column) $column->setNull(true); foreach($rowRes as $key => $rowValue) $aReturn[$nI]->column[$key]->setValue($rowValue); $nI++; } }
Je viens à vous pour trouver une solution !
Des clones vi mais pô si ... cloné XD
Merchi d'avance !
Partager