2010-06-23 171 views
2

我想通過循環一個類別數組來檢查某個類別是否已經被選中,同時我想向該數組添加另一個元素whci只是一個比特來表示是selcated類別在foreach循環中向多維數組添加元素(PHP)

我的類別陣列看起來像這樣

0=>array(category_id=>12,category_name=>"blogger") 
1=>array(category_id=>13,category_name=>"dancer") 

等...
現在我想要的代碼是這樣說:

foreach ($userCategories as $key=>$category) { 
    if($category['category_id'] == $mediaDetails['currentCategory']) { 
     $category['current'] = 1; 
    } else { 
     $category['current'] = 0; 
    } 
} 

執行

die(var_dump($userCategories)); 

我期望能獲得類似

0=>array(category_id=>12,category_name=>"blogger",current=>0) 
1=>array(category_id=>13,category_name=>"dancer",current=>1) 

一個數組,而是我得到同樣的陣列我foreach循環

任何想法有過什麼時候?

感謝

回答

11

它看起來像$category是沒有得到通過引用傳遞。

嘗試​​而不是,看看它是如何工作的。

+6

修正foreach'foreach($ userCategories as $ key =>&$ category){'(注意&) – svens 2010-06-23 21:36:29

+0

正確;我想到了這一點,但並不認爲它能夠正常工作。 – zebediah49 2010-06-23 21:37:54

+0

這工作,並結束了我的痛苦:) thx! – 2010-06-23 21:51:52