【问题标题】:Get data from stdClass Object从 stdClass 对象获取数据
【发布时间】:2015-11-05 09:02:00
【问题描述】:

您好,我想获取此对象中的名称,如何获取每个 stdClass 的这些名称。

stdClass Object
(
    [page] => 0
    [items] => 10
    [programItems] => stdClass Object
        (
            [programItem] => Array
                (
                    [0] => stdClass Object
                        (
                            [@id] => 8955
                            [name] => name
                        )
                    [1] => stdClass Object
                        (
                            [@id] => 8955
                            [name] => name1

我得到这个数据

$data = json_decode(file_get_contents("http:/example.com"));

【问题讨论】:

  • @Uchiha 为什么要将完美的对象转换为数组。 不计算
  • 是的,你是对的@RiggsFolly 我可能错了。

标签: php json object


【解决方案1】:

这应该可以解决问题:

$programItem = $data->programItems;

foreach($programItem as $item){
  echo $item->name;
}

【讨论】:

  • $programItem = $data->programItems->programItem; foreach($programItem as $item){ echo $item->name; } 这成功了,谢谢
【解决方案2】:

考虑到$arr有std对象数据,

$arr->page;
$arr->items;
foreach($arr->programItems as $a){
     foreach($a as $b) {
        echo $b->name;
        ...
     }
}

【讨论】:

    【解决方案3】:

    这里你会得到 $stdobj 中的 json 数据

    $stdobj=json_decode(file_get_contents("http:/example.com"));
                        echo "Page = ".$stdobj->page."<br>";
                        echo "item = ".$stdobj->item."<br>";
                        foreach ($stdobj->programItems as $datas) {
                            foreach ($datas as $data) {
                                foreach ($data as $key => $value) {
                                    echo 'key = ' . $key . ', value :' . $value . '<br/>';
                                }
                            }
                        }
    

    【讨论】:

      猜你喜欢
      • 2014-05-04
      • 1970-01-01
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多