我已經繼承了一些非常難看的代碼。一個print_r
一個叫做變量$this->pizza_topping_list
返回下面的(我已經去掉了所有,但兩個「子對象」的,但實際上有大約70如何訪問循環中的對象?
error_log(print_r($this->pizza_topping_list, 1));
[18-Feb-2014 11:46:52] MenuPizzaToppingList Object
(
[b_index:MenuPizzaToppingList:private] => Array
(
[@] => 36
[A] => 21
[B] => 4
)
[menu_pizza_toppings:MenuPizzaToppingList:private] => Array
(
[0] => MenuPizzaTopping Object
(
[code:MenuPizzaTopping:private] => P
[short_description:MenuPizzaTopping:private] => Pepperoni
[category:MenuPizzaTopping:private] => M
)
[1] => MenuPizzaTopping Object
(
[code:MenuPizzaTopping:private] => B
[short_description:MenuPizzaTopping:private] => Barbecue
[category:MenuPizzaTopping:private] => S
)
)
)
如果我通過這次是循環(即?foreach($pizzatoppings as $topping)
,我將如何訪問menu_pizza_toppings
對象的category
財產我需要一種方法來篩選出與S的類別
我已經嘗試了所有的項目如下:
foreach($this->pizza_topping_list['menu_pizza_toppings'] as $tmpTopping) {
error_log("category: " . $tmpTopping['category']);
}
但得到一個致命錯誤「不能使用MenuPizzaToppingList類型的對象作爲數組」。
我只是去嘗試了幾分鐘前,但我仍然得到同樣的錯誤。該錯誤引用了「MenuPizzaToppingList」類,而不是「MenuPizzaTopping」類。 – EmmyS
你試圖用一個對象作爲一個數組(因爲錯誤味精說),所以而不是這個'foreach($ this-> pizza_topping_list ['menu_pizza_toppings']作爲$ tmpTopping){'嘗試像這樣:'foreach $ this-> pizza_topping_list-> menu_pizza_toppings as $ tmpTopping){'。但是這個屬性也是私有的,所以你可能必須首先修改'MenuPizzaToppingList'。 – rocknrollcanneverdie