2010-06-23 141 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