当前位置: 首页 > 面试题库 >

注意:试图获取非对象错误的属性

冯永长
2023-03-14
问题内容

我试图从中获取数据:

但是如果我想使用以下代码获取player_name变量:

<?  
$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'});
?>

我得到错误:

注意:尝试在第9行+ var_dump()的** \ htdocs \ index.php中获取非对象的属性将返回:NULL

var_dump($pjs) 返回:

array(1) { [0]=> object(stdClass)#52 (15) { ["player_name"]=> string(11) "Mick_Gibson" ["player_id"]=> int(88) ["rank"]=> string(12) "FIRE TURTLEE" ["lastseen"]=> int(1393797692) ["registration_date"]=> string(19) "2012-08-10 17:01:34" ["last_mission_date"]=> string(19) "2014-03-02 21:41:50" ["time_offset"]=> int(1) ["house_id"]=> int(611) ["fines"]=> int(0) ["wanted"]=> int(0) ["police_badge"]=> bool(true) ["vip"]=> bool(false) ["staff"]=> NULL ["stats"]=> object(stdClass)#53 (23) { ["score"]=> int(2941) ["convoy_score"]=> int(818) ["ARTIC"]=> int(515) ["DUMPER"]=> int(565) ["TANKER"]=> int(56) ["CEMENT"]=> int(163) ["TRASH"]=> int(7) ["ARMORED"]=> int(9) ["VAN"]=> int(501) ["TOW"]=> int(502) ["COACH"]=> int(4) ["LIMO"]=> int(97) ["ARRESTS"]=> int(272) ["GTA"]=> int(67) ["BURGLAR"]=> int(122) ["HEIST"]=> int(1) ["PLANE"]=> int(48) ["HELI"]=> int(12) ["FAILED"]=> int(312) ["OVERLOADS"]=> int(160) ["TRUCK_LOADS"]=> int(1275) ["ODOMETER"]=> int(28320798) ["TIME"]=> int(2078450) } ["achievements"]=> array(4) { [0]=> string(20) "Professional Trucker" [1]=> string(13) "Gravel Hauler" [2]=> string(12) "Delivery Boy" [3]=> string(7) "Wrecker" } } }

问题答案:

这是因为$pjs是对象的单元素数组,所以首先应访问作为对象的数组元素,然后访问其属性。

echo $pjs[0]->player_name;

您粘贴的转储结果实际上很清楚地告诉了它。



 类似资料:
  • 问题内容: 我正在尝试编写一个脚本,该脚本使用cURL从远程位置(在本例中为twitch.tv)获取JSON文件(不要以为该部分太相关,尽管无论如何我还是最好提一下)。出于示例目的,假设它返回的JSON对象存储在变量中后看起来像这样: 我访问“流”属性,我尝试了以下代码: 当我尝试此操作时,出现错误“注意:试图在第48行的D:\ Servers \ IIS \ Sites \ mysite \ g

  • 问题内容: 我正在尝试制作更新表单,该表单将为选定的特定ID检索数据,并填写表单,以便其可用于更新。 当我单击特定条目(在我的情况下为Product)上的Edit时,它将带我到,但是对于我在表单元素中使用的每个变量,都显示错误 “试图获取非对象的属性”。 使用,我得到了正确的关联数组,因此正确传递了它。 这是我的摘录。 是包含所有键值对的数组,但由于某种原因我无法填写表格。 先感谢您! 问题答案:

  • 简单的代码不起作用!我一直在用if语句获取行上非object的属性时出错。我尝试像数组一样访问它,但收到一条消息说它不能以数组的形式访问stdClass。 $group的print\u r、var\u dump和dd可以给出: 使用$setting=$group\u可以- 返回错误不能使用stdClass类型的对象作为数组 laravel错误的详细信息如下: 可处理的例外情况- 编辑我删除了第一部

  • 无法显示要查看的数据库信息,出现错误 尝试获取非对象的属性 让我解释一下逻辑: 用户可以创建多个公司 我没有问题插入信息到数据库,一切都很好。我可以在我的显示视图中显示来自用户表和公司表的所有信息,但我不能在我的视图中显示来自Company_Items表的信息。我想我的关系或钥匙出了问题,但是什么?尝试显示属于特定公司的项目名称 公司表: id(int) company_name(字符串) 信息(

  • null null null 表名:data 提前谢谢你。

  • 在响应中,我们接收一个xml文件,然后转换为SimpleXMLElement,然后根据需要访问元素和属性。然而,当直接从字符串响应加载xml而不是从保存的响应加载xml时,我们得到了“尝试获取非对象的属性”。 当使用simplexml\u load\u字符串而不是simplexml\u load\u文件时,什么会导致xml失败? 以下是xml文件的一个片段: