Probleme boucle for
Résolu
kimyoo
Messages postés
36
Date d'inscription
Statut
Membre
Dernière intervention
-
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
A voir également:
- Probleme boucle for
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Idm for mac - Télécharger - Téléchargement & Transfert
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
- Instagram for pc - Télécharger - Divers Communication
- Microsoft store download for pc - Guide
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.
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.
Les début en programmation est vraiment dur et démotivant des fois
Merci encore une fois pour l'explication
parfait.