为了账号安全,请及时绑定邮箱和手机立即绑定

php echo 一个数组的元素

php echo 一个数组的元素

PHP
ibeautiful 2023-04-23 17:46:40
我有一个变量$var。上面var_dump($var);显示:array(1) { [0]=> object(stdClass)#23 (2) { ["stop_id"]=> string(1) "1" ["flag"]=> string(1) "1" } }我希望元素'flag'从$var. 怎么做?我试过:echo $var[0]["flag"];表明:消息:不能将 stdClass 类型的对象用作数组请帮忙
查看完整描述

3 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

var_dump() 显示变量是一个 PHP 对象而不是 PHP 数组,因此您可以使用 @Zharov answer 将值作为对象访问,或者如果您想像这样将其作为 PHP 数组访问,则对其进行类型转换:


  $array = (array) $var;

示例(简单对象):


    $var = new StdClass;

    $object->stop_id = "1";

    $var->flag = "1";


  var_dump( (array) $var );

输出


   array(2) {

    'stop_id' => string(1)

    'Fflag' => string(1)

   }


查看完整回答
反对 回复 2023-04-23
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

这个错误的原因是$var数组中的第一项是对象,而不是数组。所以flag不是索引,它是一个属性,您需要作为类成员访问它并取决于 属性的可见性:

<?php

class Test {

    protected $stop_id = "1";

    public $flag = "1";

}


$var = array(

   new Test

);


var_dump($var[0]->flag);

var_dump($var[0]->stop_id);

?>

结果:


string(1) "1" 

Exception: Cannot access protected property Test::$stop_id


查看完整回答
反对 回复 2023-04-23
?
猛跑小猪

TA贡献1858条经验 获得超8个赞

数组的第一个元素是一个对象,所以你必须使用这个代码:

echo $var[0]->flag;


查看完整回答
反对 回复 2023-04-23
  • 3 回答
  • 0 关注
  • 101 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信