我有一个对象被扔到会话数组中,我想在 items 属性上运行一个 foreach。
我似乎无法访问它。我看到它是私有的,但我不禁想知道为什么 var_dump 可以向我显示属性包含的内容但我无法读取数据,因为它会引发致命错误?
如果我真的必须喜欢这个,我想我可以做一些输出缓冲并将 var_dump 评估为字符串,但似乎应该有更好的方法。有什么想法可以访问_items吗?
目标代码 var_dumped 来自var_dump($_SESSION['PHPurchaseCart'])
:
object(PHPurchaseCart)#191 (4) {
["_items:private"]=>
array(2) {
[0]=>
object(PHPurchaseCartItem)#190 (6) {
["_productId:private"]=>
string(2) "80"
["_quantity:private"]=>
int(1)
["_optionInfo:private"]=>
string(20) "Monthly Sponsorship "
["_priceDifference:private"]=>
string(3) ".01"
["_customFieldInfo:private"]=>
NULL
["_formEntryIds:private"]=>
array(0) {
}
}
[1]=>
object(PHPurchaseCartItem)#189 (6) {
["_productId:private"]=>
string(2) "75"
["_quantity:private"]=>
int(1)
["_optionInfo:private"]=>
string(20) "Monthly Sponsorship "
["_priceDifference:private"]=>
string(3) ".02"
["_customFieldInfo:private"]=>
NULL
["_formEntryIds:private"]=>
array(0) {
}
}
}
["_promotion:private"]=>
NULL
["_promoStatus:private"]=>
int(0)
["_shippingMethodId:private"]=>
NULL
}
我尝试访问它的方式:
$fun = $_SESSION['PHPurchaseCart'];
var_dump($fun->_items);
exit;
上面抛出了一个致命错误。