Probleme boucle for

Résolu/Fermé
kimyoo Messages postés 36 Date d'inscription lundi 29 juin 2015 Statut Membre Dernière intervention 6 octobre 2015 - 30 juil. 2015 à 13:35
 kimyoo - 3 août 2015 à 14:49
Bonjour,

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:

1 réponse

Yuh12 Messages postés 184 Date d'inscription mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 24
Modifié par Yuh12 le 30/07/2015 à 16:17
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.
0
kimyoo Messages postés 36 Date d'inscription lundi 29 juin 2015 Statut Membre Dernière intervention 6 octobre 2015
31 juil. 2015 à 10:46
Merci Yuh12
Les début en programmation est vraiment dur et démotivant des fois
Merci encore une fois pour l'explication
parfait.
0
Yuh12 Messages postés 184 Date d'inscription mercredi 7 mai 2014 Statut Membre Dernière intervention 28 septembre 2017 24
31 juil. 2015 à 13:39
Avec plaisir :) ! Tu as trouvé du coup ?
0
j'ajoute une autre variable
for($i=1;$i<=count($data['number']);$i++){
$j=0;
foreach($data['parent'] as $parent){
$j++;
$parent->sub = $j;
}
}
0