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 ?

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 ?

DDD
DDDoriginal
2024-11-01 04:55:27399parcourir

How to Fix the

"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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn