【问题标题】:PHP - Cannot access array in stdclass objectPHP - 无法访问 stdclass 对象中的数组
【发布时间】:2016-07-09 09:57:28
【问题描述】:

目前我有一个 stdclass 对象。如何访问对象的属性,例如作者的姓名?我试图回显$authors = $book->authors_summary[0]->name;,但它返回“尝试在...中获取非对象的属性”错误。

[authors_summary] => Array
        (
            [0] => Array
                (
                    [id] => 123456789
                    [name] => Ben Smith
                )

            [1] => Array
                (
                    [nconst] => 987654321
                    [name] => Tommy Lee
                )

        )

【问题讨论】:

  • 你能 var_dump($book) 吗?

标签: php arrays object properties stdclass


【解决方案1】:

数组 ( [数据] => 数组 ( [0] => 标准类对象 ( [编号] => 5 [名称] => nilu [电子邮件] => nilu@gmail.com [密码] => nilu [图片] => LOVE_A_O_D.jpg )

    )

)

如何从中获取密码..... 在控制器中---- $datas['data']= $this->Login_model->loginchk($value);

在模型中----- $results=$this->db->get(); 返回 $results->result();

【讨论】:

  • 这是很糟糕的格式和不可读的。请编辑您的答案。
【解决方案2】:

'name' 是数组的键,所以你可以像这样访问 name 值

$authors = $book->authors_summary[0]['name'];
echo $authors;

【讨论】:

    【解决方案3】:

    你的authors_summary[0]是一个数组,所以你不能使用->对象指针,你必须把它称为数组:

    $authors = $book->authors_summary[0]['name'];
    

    【讨论】:

    • 如何在 foreach 循环中回显两个名称?
    • foreach($book->authors_summary as $key => $val) { echo $val["name"] });
    猜你喜欢
    • 2014-10-17
    • 2016-11-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    • 2023-03-15
    • 2014-02-28
    • 2012-06-24
    • 1970-01-01
    相关资源
    最近更新 更多