我有一个名为$ options的数组。 我想迭代它的内容,所以我这样做:
foreach($options as $option){
print_r( $option);
}
结果输出给我一个像这样开始的对象/数组heffalump ......
Mage_Bundle_Model_Option Object
(
[_defaultSelection:protected] =>
[_eventPrefix:protected] => core_abstract
[_eventObject:protected] => object
[_resourceName:protected] => bundle/option
[_isObjectNew:protected] =>
[_data:protected] => Array
(
[option_id] => 20
[parent_id] => 291
我想引用_data中的值,但是为了纠正语法来执行此操作我感到困惑......
答案 0 :(得分:0)
没有语法可以从通用代码访问它们。 Mage_Bundle_Model_Option
类已将其属性声明为 protected ,这意味着只能从类,其后代或其祖先访问它们。您应该使用类的公共方法来使用它,而不是直接访问属性。
答案 1 :(得分:0)
因为_data对象设置为protected
,所以只能从Mage_Bundle_Model_Option
类内部或从它扩展的类中访问它。
所以你需要做的是在Mage_Bundle_Model_Option中添加一个方法
function getData(){
return $this->_data;
}
然后代替当前的foreach循环,执行:
foreach($options->getData() as $option) {
//do things
}