Variable JSON en Undefined index
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 :
Code:
PHP Notice: Undefined index: age in /home/****/public_html/test.php on line 48
Voici mon code :
Code:
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;
?> |
Je 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:
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>"; |
Pourquoi ma fonction ne fonctionne pas ?
Cordialement,
GaLaGaNN