在foreach循环中向多维数组添加元素(PHP)
问题描述:
我想通过循环一个类别数组来检查某个类别是否已经被选中,同时我想向该数组添加另一个元素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循环
任何想法有过什么时候?
感谢
答
它看起来像$category
是没有得到通过引用传递。
尝试而不是,看看它是如何工作的。
修正foreach'foreach($ userCategories as $ key =>&$ category){'(注意&) – svens 2010-06-23 21:36:29
正确;我想到了这一点,但并不认为它能够正常工作。 – zebediah49 2010-06-23 21:37:54
这工作,并结束了我的痛苦:) thx! – 2010-06-23 21:51:52