如何访问此PHP对象中的信息?

时间:2019-01-09 01:21:10

标签: javascript php

我不确定如何编写语法来访问twitter标准搜索API返回的对象中的“文本”。

我尝试了所有可能想到的PHP运算符组合,例如$ statuses [0]->“ text”等。但是无论我做什么,我都只会得到错误。唯一实际在屏幕上打印出东西的是 print_r($ statuses)。

我已经尝试过使用json_decode(),但是我不确定之后该怎么做。我什至不确定那是否是该功能的正确用法。

stdClass Object
(
    [statuses] => Array
        (
            [0] => stdClass Object
                (
                    [created_at] => Wed Jan 09 01:03:14 +0000 2019
                    [id] => 1082804961115885570
                    [id_str] => 1082804961115885570
                    [text] => Happy Birthday @LeslieAmandaa_ !!

这是一些print_r($ statuses)。我想访问[文本]。

$statuses = $connection->get("search/tweets", array("q" => "birthday"));
echo "<pre>";
print_r($statuses);
echo "</pre>";

那是我曾经使用过的PHP

  1. 从Twitter标准搜索API获取对象
  2. 将其打印到我的网页(您在屏幕截图中看到的内容)

我希望能够仅回显[text]部分,但是我尝试过的所有事情似乎都对我没有作用(我浏览了其他线程,找不到适用于我的特定对象的任何东西)。如果有人对如何将数据传递到JS文件有任何有用的信息,我也想将此对象与JavaScript(也包括jQuery)一起使用。

好,所以我知道它可以在页面上显示错误,并且可能导致此错误的原因是:

Fatal error: Uncaught Error: Cannot use object of type stdClass as array in 
C:\inetpub\wwwroot\index.php:22 Stack trace: #0 {main} thrown in C:\inetpub\wwwroot\index.php on line 22

1 个答案:

答案 0 :(得分:0)

根据我所看到的,我会猜测:

$result = $connection->get("search/tweets", array("q" => "birthday"));
print_r($result->statuses[0]->text);

将是您想要的。似乎与结果中第一个值匹配的变量的命名是导致混淆的原因。

作为旁注,在不按值引用值的情况下要小心。首先检查它们,或迭代数组。