Maison > Article > développement back-end > Comment corriger l'erreur « Avis : tentative d'obtention de la propriété d'un non-objet » lors de l'accès aux données API ?
"Avis : tentative d'obtention de la propriété d'un non-objet" Erreur : informations et résolution
Lors de la tentative de récupération de données de l'API à "http://api.convoytrucking.net/api.php?api_key=public&show=player&player_name=Mick_Gibson", vous pouvez rencontrer l'erreur "Avis : tentative d'obtention de la propriété d'un non-objet" lorsque vous utilisez le code suivant :
<? $js = file_get_contents('http://api.convoytrucking.net/api.php?api_key=public&show=player&player_name=Mick_Gibson'); $pjs = json_decode($js); var_dump($pjs->{'player_name'}); ?>
Cause de l'erreur :
Cette erreur se produit car $pjs est un tableau contenant un seul objet, plutôt que l'objet attendu lui-même. La ligne 9 de votre code tente d'accéder directement à une propriété (player_name) de $pjs, qui est un tableau, pas un objet.
Solution :
Pour résoudre ce problème problème, accédez d'abord à l'élément de tableau qui contient l'objet ($pjs[0]), puis accédez à l'attribut d'objet souhaité :
echo $pjs[0]->player_name;
Explication détaillée :
Le résultat de var_dump($pjs) révèle que $pjs est un tableau avec un seul élément, qui est un objet contenant diverses données du joueur. Pour accéder à la propriété player_name, vous devez d'abord spécifier l'index du tableau (dans ce cas, 0), puis accéder à la propriété souhaitée de l'objet résultant.
En mettant à jour votre code comme suit, vous récupérerez correctement la propriété player_name :
echo $pjs[0]->player_name;
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!