Probleme boucle for
Résolu
kimyoo
Messages postés
43
Statut
Membre
-
kimyoo -
kimyoo -
Bonjour,
j'ai une boucle for comme l'indique ci-dessous
mon probleme comment faire pour incrementer "sub "de 1 vers 4 pour chaque catgorie
il m'affiche toujours 4 comme ça :
Array
(
[0] => stdClass Object
(
[cat_id] => 1
[cat_lib] => Détergent
[sub] => 4
)
[1] => stdClass Object
(
[cat_id] => 2
[cat_lib] => couche & papier
[sub] => 4
)[2] => stdClass Object
(
[cat_id] => 3
[cat_lib] => Emballage sous vide
[sub] => 4
)
[3] => stdClass Object
(
[cat_id] => 4
[cat_lib] => Produits cosmétiques
[sub] => 4
)
)
merci de bien vouloir m'apporter votre aide
j'ai une boucle for comme l'indique ci-dessous
$data['number'] = array("0"=>1, "1"=>2, "2"=>3, "3"=>4);
for($i=1;$i<=count($data['number']);$i++){
foreach($data['parent'] as $parent){
$parent->sub = $i;
}
}
mon probleme comment faire pour incrementer "sub "de 1 vers 4 pour chaque catgorie
il m'affiche toujours 4 comme ça :
Array
(
[0] => stdClass Object
(
[cat_id] => 1
[cat_lib] => Détergent
[sub] => 4
)
[1] => stdClass Object
(
[cat_id] => 2
[cat_lib] => couche & papier
[sub] => 4
)[2] => stdClass Object
(
[cat_id] => 3
[cat_lib] => Emballage sous vide
[sub] => 4
)
[3] => stdClass Object
(
[cat_id] => 4
[cat_lib] => Produits cosmétiques
[sub] => 4
)
)
merci de bien vouloir m'apporter votre aide
1 réponse
-
Je vais plus essayer de t'expliquer pourquoi tu as ce résultat pour que tu puisses chercher plus facilement.
Tu fais un foreach dans un for.
Donc pour chaque boucle de ton for (soit 4 fois).
Il va faire un foreach des 4 cases de parent (soit 4 aussi) et il va ajouter $i aux 4.
Vu que tu fais un =$i et pas un +=$i il remplace a chaque fois donc il n'y a que la dernière boucle du for qui compte dans ton opération, les trois boucles précédentes sont écrasées.
A cette dernière boucle $i vaut 4 et tu lui dis de faire un foreach de parent et de remplacer chaque sub par $i donc 4.