php arrayObject为什么我不能使用对象符号访问数组键



我正在尝试通过对象符号访问数组键。我认为下面的代码应该起作用吗?

<?php
  $accountData = array('role'=> 'user');
  $accountDataAO = new ArrayObject($accountData, ArrayObject::STD_PROP_LIST);
  echo $accountDataAO->role;
?>

但我明白了:

PHP Notice:  Undefined property: ArrayObject::$role in /home/stan/Desktop/test.php on line 5
PHP Stack trace:
PHP   1. {main}() /home/stan/Desktop/test.php:0

我在做什么错?

ahh。NVM。我必须添加:arrayObject :: array_as_props

<?php
  $accountData = array('role'=> 'user');
  $accountDataAO = new ArrayObject($accountData, ArrayObject::STD_PROP_LIST | ArrayObject::ARRAY_AS_PROPS); 
  echo $accountDataAO->role;
?>

最新更新