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 :
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 ensuite pensé que ça venait du fait que j'utilisais une même var ($oTemp)
J'ai changé mon code pour tester autre chose :
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++;
				}
			}
Mais le résultat est le même ...
Je viens à vous pour trouver une solution !
Des clones vi mais pô si ... cloné XD

Merchi d'avance !