【问题标题】:PHP Array of a stdClass, How to get data?一个stdClass的PHP数组,如何获取数据?
【发布时间】:2012-05-05 08:46:01
【问题描述】:

我想打印 [name] 的值。我刚刚开始熟悉standard defined classes 以及它们的名称。

基于这个例子和逻辑

$arrayobj = new ArrayObject(array('first','second','third'));
print_r($arrayobj);
//outputs: ArrayObject Object ( [0] => first [1] => second [2] => third )

这样。我正在尝试从这里提取名称 (Pebbles) 的值。

print_r($terms);
/* outputs
Array ( [3] => stdClass Object ( [term_id] => 3 [name] => Pebbles ) )
*/

所以我尝试了

echo $terms[0]->name;

有花生。我该怎么做?

【问题讨论】:

    标签: php arrays stdclass


    【解决方案1】:

    列出的唯一数组键是[3] (Array ( [3] => stdClass...),所以使用

    echo $terms[3]->name;
    

    虽然它是一个数字索引数组,但这并不意味着它以索引 0 开始,甚至有顺序键。

    通过循环获取它们:

    foreach ($terms as $t) {
       echo $t->name;
    }
    

    【讨论】:

    • 你用 5 秒击败了我……不错
    【解决方案2】:

    您可以使用以下内容:

    echo $terms[3]->name ;
    

    【讨论】:

      【解决方案3】:

      如果我错了,请纠正我,但你可以对它们进行类型转换。

      $terms = (array) $terms;
      

      将使其成为可通过以下方式访问的普通数组:

      $terms[3]['name']
      

      【讨论】:

        【解决方案4】:

        要显示对象字段名称的值,可以使用以下命令:

            echo $this[3]->name;
        

        【讨论】:

          猜你喜欢
          • 2011-07-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-04
          • 2016-02-04
          • 1970-01-01
          相关资源
          最近更新 更多