在foreach循环中向多维数组添加元素(PHP)

时间:2010-06-23 21:31:00

标签: php foreach multidimensional-array

我正在尝试通过循环遍历类别数组来检查是否已经选择了某个类别我还想在数组中添加另一个元素whci只是指示类别是否已被选中

我的categories数组看起来像这样

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循环之前相同的数组

任何想法?

由于

1 个答案:

答案 0 :(得分:11)

看起来$category没有通过引用传递。

请尝试$userCategories[$key]['current']=1,看看它是如何运作的。