gre*_*eek 20 php arrays zend-framework2
我已经使用PHP了很长一段时间,但从未成为高级程序员.我觉得这是一个愚蠢的问题,但从来没有理解为什么可以使用不同的方法检索一些数组值:
这个:
$array->value
Run Code Online (Sandbox Code Playgroud)
而不是正常的:
$array['value']
Run Code Online (Sandbox Code Playgroud)
标准的$ array ['value']总是有效,但是使用 - >方法的那个有时没有.这是为什么?
这是一个例子.我正在使用Zend Framework 2,我可以使用 - >方法获取会话值:
$this->session->some_value
Run Code Online (Sandbox Code Playgroud)
但是,如果我做一个新的,正常的数组,我不能:
$array = array('some_value' => 'myvalue');
$array['some_value']; // works!!
$array->some_value; // does not work :(
Run Code Online (Sandbox Code Playgroud)
在Zend Framework 1中,大多数数组都可以这样工作,而且在ZF2中越来越多,我遇到的问题是我需要改变我获得该值的方式.这有意义吗?我当然感谢任何帮助.谢谢,格雷格
Voi*_*cus 20
如前面在其他答案中所述,使用->意味着您正在访问对象,而不是数组.
但是,有时可能会将对象视为数组.它是在实现ArrayAccess接口的时候.编码器可以这样做,例如.打电话$object->field相当于$object['field'],但他/她不能.
此外,可以将数组视为对象(参考手册),但是在这种情况下,它不是数组而是对象,并且与上面的方式相同.
| 归档时间: |
|
| 查看次数: |
21323 次 |
| 最近记录: |