Bonjour,
J'aimerais bien savoir la différence entre 2 codes qui donne la même chose.
1er code, ci-dessous,que j'ai fait avec While :
2e même code, mais sans la boucle while :
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
17
18
19
20
21
22
23
24
25
26
27
28 $compteur = count($data_json_obj_array['produits'] ); $i = 0; while ($i < $compteur) { foreach ($data_json_obj_array['produits'] as $val_color) { switch($val_color['color']) { case 'red' : echo '<p>Rouge</p>'; break; case 'orange' : echo '<p>Orange</p>'; break; case 'purple' : echo '<p>Violet</p>'; break; default: echo '<p>Inconnu</p>'; } $i++; } }
même résultat :
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
17
18
19
20
21
22
23
24 $data_json_obj_array = json_decode($data_json_obj, true); foreach ($data_json_obj_array['produits'] as $val_color) { switch($val_color['color']) { case 'red' : echo '<p>Rouge</p>'; break; case 'orange' : echo '<p>Orange</p>'; break; case 'purple' : echo '<p>Violet</p>'; break; default: echo '<p>Inconnu</p>'; } }Je me suis un peu perdu : pour choisir l'un de deux.Rouge
Rouge
Orange
Violet
Orange
Inconnu
En fait, j'ai utilisé la 1re parce que je pensais ainsi.
Ensuite, par curiosité, j'ai supprimé le while pour voir si cela marche. Et je vois que la 2e marche aussi.
Du coup, je ne sais pas si les deux exactement la même chose, mais 2e est plus épuré ?
Que vous pensez ?
Merci
Voici le code avec la data :
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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 $data_json_obj = '{ "commande": "12578", "name": "toto", "produits": [ { "grams": 0, "product_id": 11111, "name": "tomate", "color": "red" }, { "grams": 1000, "product_id": 11112, "name": "pomme", "color": "red" }, { "grams": 1000, "product_id": 11114, "name": "orange", "color": "orange" }, { "grams": 2050, "product_id": 11113, "name": "aubergine", "color": "purple" }, { "grams": 1000, "product_id": 11162, "name": "carotte", "color": "orange" }, { "grams": 1000, "product_id": 11115, "name": "patate", "color": "" } ] }'; $data_json_obj_array = json_decode($data_json_obj, true); echo '<h1>avec while</h1>'; $compteur = count($data_json_obj_array['produits'] ); $i = 0; while ($i < $compteur) { foreach ($data_json_obj_array['produits'] as $val_color) { switch($val_color['color']) { case 'red' : echo '<p>Rouge</p>'; break; case 'orange' : echo '<p>Orange</p>'; break; case 'purple' : echo '<p>Violet</p>'; break; default: echo '<p>Inconnu</p>'; } $i++; } } echo '<h1>Sans while</h1>'; foreach ($data_json_obj_array['produits'] as $val_color) { switch($val_color['color']) { case 'red' : echo '<p>Rouge</p>'; break; case 'orange' : echo '<p>Orange</p>'; break; case 'purple' : echo '<p>Violet</p>'; break; default: echo '<p>Inconnu</p>'; } }
Partager