php echo 一个数组的元素

我有一个变量$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 类型的对象用作数组

请帮忙


ibeautiful
浏览 104回答 3
3回答

慕田峪7331174

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)   }

慕娘9325324

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

猛跑小猪

数组的第一个元素是一个对象,所以你必须使用这个代码:echo&nbsp;$var[0]->flag;
打开App,查看更多内容
随时随地看视频慕课网APP