【问题标题】:Echo element from php array来自php数组的回显元素
【发布时间】:2013-09-26 00:05:58
【问题描述】:

谁能告诉我如何遍历下面的数组?

http://pastebin.com/rhaF5Zdi

我试过了,运气不好:

$_data = json_decode($_data);
foreach ( $_data as $tweet )
{
    echo "{$tweet->text}\n";
}

谢谢

ps:我正在关注这个 php 脚本。 http://mikepultz.com/2013/06/mining-twitter-api-v1-1-streams-from-php-with-oauth/

她在阵列上的另一个粘贴箱。似乎有多个数组发生 http://pastebin.com/dduzhpqY

【问题讨论】:

  • 它来自哪里?解码时出了点问题,到处都看到那些=>?这看起来不对...您遇到了什么错误?
  • 对不起,我的错,复制和粘贴做了一些奇怪的事情。我已经更新了数组数据。谢谢
  • 你试过了吗 - echo $tweet->text 。 '\n'; ?
  • 刚试过,好像不行。如果我打印我收到错误消息“尝试获取非对象的属性”所以我猜它不是对象而是数组?所以我尝试了 $_data['text']

标签: php json twitter feed


【解决方案1】:

看起来您可能正在创建 PHP stnd 对象而不是数组

//this will create a php standard object
$objOfData=json_decode($json); 

请改用以下版本:(注意第二个参数为真

$associativeArray=json_decode($json, TRUE); 

这会将对象转换为关联数组,您可以像这样访问字段:

$id=$associativeArray['id'];

更多信息在这里:json_decode

【讨论】:

  • 我认为我做得对,但一定有问题。 ' $data = json_decode($json, TRUE); if ($data) { // 处理它 $this->process_tweet($data); }' 然后 ' 私有函数 process_tweet($_data) { echo $_data['text']; }'
【解决方案2】:

发布链接中的代码不是 JSON,而是 print_r() 函数的输出。 PHP 没有 print_r() 的反转函数,但是在 php.net 的 print_r() 文档的 cmets 中,您可以找到一些可以读取它的用户自定义函数。

例如这个: http://www.php.net/manual/en/function.print-r.php#93529

我希望它会有所帮助。祝你好运:)

【讨论】:

    【解决方案3】:

    最终使用:

    if(array_key_exists('text', $_data)){
            echo 'Tweet ID = '.$_data['id_str'];
            echo 'Tweet Text = '.$_data['text'];
            echo '<br /><br />';
        }
    

    干杯

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-14
      • 2015-03-07
      • 2020-11-04
      • 2011-04-11
      相关资源
      最近更新 更多