【问题标题】:Access specific element from array in zf2从 zf2 中的数组访问特定元素
【发布时间】:2016-11-01 15:30:53
【问题描述】:
我在视图中有一个数组$pname,当我写print_r($pname);时,我从控制器访问了它,输出是:
Admin\Model\Provinces 对象([id] => 4 [p_name] => Khyber Pakhtunkhwa [inputFilter:protected] =>)
我需要显示开伯尔普赫图赫瓦:
我试过回显$pname['p_name'];但它告诉我一个错误:
致命错误:未捕获的错误:无法使用 Admin\Model\Provinces 类型的对象作为 C:...中的数组...
那么我怎么能做到这一点,即从数组中访问特定数据。
【问题讨论】:
标签:
php
properties
zend-framework2
【解决方案1】:
在您的情况下,$pname 不是数组,它是 Admin\Model\Provinces 类型的对象(您可以在 print 调用的输出中清楚地看到)。
要访问简单 php 对象的属性,您有时可以像以前一样使用数组表示法(在此 here on php.net 上阅读更多内容),但在这种情况下,这种类型的对象不允许使用,因此会出现错误消息。
您可以通过使用箭头符号(如果实现a magic getter)或使用类Admin\Model\Provinces 中提供的getter 来访问对象中的对象属性。
这是基本的 PHP 内容,我建议您在开始使用 Zend-Framework 2 等复杂框架之前先熟悉 PHP。