【问题标题】:stdClass Object and array how to using phpstdClass 对象和数组如何使用 php
【发布时间】:2011-07-06 14:58:17
【问题描述】:

我正在尝试获取此结构显示的十二个 ID:

stdClass Object
(
    [checkins] => stdClass Object
        (
            [count] => 12
            [items] => Array
                (
                    [0] => stdClass Object
                        (

                            [venue] => stdClass Object
                                (
                                    [id] => 4564654646456
                                    .
                                    .

我愿意:

$checkins = $fsObjUnAuth->get("/users/self/checkins");
$count = $checkins ->response->checkins->count;  // so I can  get 12

 for( $i = 0; $i < $count; $i ++)
  {
      $a1[] = $checkins['items'][$i]['venue']['id'];  //two tries
      $a2[] = $checkins ->response->checkins->items->$i->venue->id;
        echo $i; echo ": ";
        echo $a1;echo"<br>";
        echo $a2;echo"<br>"
  } 

但我得到: 致命错误:不能使用 stdClass 类型的对象作为行中的数组..

请有人告诉我如何做到这一点?

非常感谢

【问题讨论】:

    标签: php arrays object stdclass


    【解决方案1】:

    您不能通过数组下标运算符[]访问对象成员。

    您必须使用-&gt; 运算符:

    $x = new StdClass();
    
    $x->member = 123;
    

    在您的情况下,您必须使用混合,因为您有一个对象 ($checkins) 和一个成员 ($items),该成员是一个包含其他对象的数组。

    $a1[] = $checkins->items[$i]->venue->id;
    

    【讨论】:

      【解决方案2】:

      这是一个简单的解决方案convert stdClass Object in array in php with function get_object_vars

      看:http://php.net/manual/fr/function.get-object-vars.php

      例如:

      debug($array);
      $var = get_object_vars($array);
      debug($var);
      

      或将debug 替换为print_r

      我正在使用 CakePHP 框架

      Cdt

      【讨论】:

        【解决方案3】:

        改变

        $a1[] = $checkins['items'][$i]['venue']['id'];
        

        改为

        $a1[] = $checkins->items[$i]->venue->id; 
        

        【讨论】:

          猜你喜欢
          • 2014-02-28
          • 2015-05-15
          • 2015-10-24
          • 2014-01-31
          • 2012-05-28
          • 2014-10-17
          • 2012-11-16
          • 2013-01-13
          • 2012-01-07
          相关资源
          最近更新 更多