Gérer l'énigme : créer des tableaux avec json_decode()
Rencontrer l'erreur "Erreur fatale : impossible d'utiliser un objet de type stdClass comme tableau " en essayant de décoder JSON dans un tableau signifie un malentendu courant. json_decode() crée par défaut un objet, mais des tableaux peuvent être obtenus en spécifiant le deuxième argument comme vrai.
Revisite du code :
Le code fourni ci-dessous illustre le approche problématique :
$json_string = 'http://www.example.com/jsondata.json'; $jsondata = file_get_contents($json_string); $obj = json_decode($jsondata); print_r($obj['Result']);
Le Solution :
Pour résoudre le problème, nous devons simplement fournir true comme deuxième argument à json_decode(), spécifiant notre préférence pour un tableau associatif plutôt que pour un objet. Le code correct serait :
$result = json_decode($jsondata, true);
Accès aux valeurs du tableau :
Une fois que vous avez votre tableau associatif, vous pouvez accéder à ses valeurs à l'aide de crochets :
print_r($result['Result']);
Tableaux de clés entières :
Si, cependant, vous préférez les clés entières plutôt que les noms de propriétés, vous pouvez y parvenir en utilisant array_values() :
$result = array_values(json_decode($jsondata, true));
Approche objet :
Si vous préférez conserver la structure de l'objet, vous pouvez toujours accéder à la propriété souhaitée à l'aide de l'opérateur double flèche :
print_r($obj->Result);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!