Salux à tous !
Je suis en auto-apprentissage avec un projet personnel et je pèche sur un point, dont je ne comprends pas pourquoi cela ne fonctionne pas.
Voici l'erreur que j'ai actuellement :Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part PHP Notice: Undefined index: age in /home/****/public_html/test.php on line 48Je sais que si je ne fait pas de fonction var_controle, mais un contrôle sur chacun des variables, je n'ai plus de problème :
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 <?php // Mon JSON avec un manque en [2] car il n'y a pas l'age $json = '{ "participants":[ { "nom":"ADORABLE", "num":1, "age":5, "sexe":"HONGRES" }, { "nom":"BRISE", "num":2, "age":6, "sexe":"MALES" }, { "nom":"TARTE", "num":3, "sexe":"FEMMES" }, { "nom":"FRAISE", "num":4, "age":4, "sexe":"MALES" } ] }'; // Décodage du JSON en mode array $json_tableau = json_decode($json,true); // Déclaration de la variable de mise en page $output = ""; // fonction qui contrôle si la variable est définit function var_controle($a) { if (isset($a)) { $b = $a; }else { $b = "nc"; } return $b; } // Boucle de mise en page foreach ($json_tableau['participants'] as $tableau) { $output .= "<h1>".var_controle($tableau['num'])."</h1>"; $output .= "<h2>".var_controle($tableau['nom'])."</h2>"; $output .= "<h2>".var_controle($tableau['age'])."</h2>"; $output .= "<h2>".var_controle($tableau['sexe'])."</h2>"; } // Affiche de la mise en page echo $output; ?>Pourquoi ma fonction ne fonctionne pas ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 // Boucle de mise en page foreach ($json_tableau['participants'] as $tableau) { $output .= "<h1>".var_controle($tableau['num'])."</h1>"; $output .= "<h2>".var_controle($tableau['nom'])."</h2>"; if (isset($tableau['age'])) { $age = $tableau['age']; }else { $age = "nc"; } $output .= "<h2>".$age."</h2>"; $output .= "<h2>".var_controle($tableau['sexe'])."</h2>";
Cordialement,
GaLaGaNN
Partager