我如何循环下面的数组和每个数组的元素,关键字是"url_slug“,值是"foo"?我尝试过使用array_push,但这样就去掉了关键名称(看起来是这样吗?)我认为,执行foreach($array as $k => $v)也不能做到这一点。
新的数组应该完全相同,只是每个数组有4个元素,而不是3个,具有上面的键/值。
Array
(
[0] => Array
(
[name_en] => Test 5
[url_name_nl] => test-5
[cat_name] => mobile
)
[1] => Array
(
[name_en] => Test 10
[url_name_nl] => test-10
[cat_name] => mobile
)
[2] => Array
(
[name_en] => Test 25
[url_name_nl] => test-25
[cat_name] => mobile
)
)编辑:完整的工作解决方案。比最初描述的要复杂一点
foreach ($prods as $key => &$value)
{
if($key == "cat_name") $slug = $value['cat_name'];
$url_slug = $this->lang->line($slug);
$value['url_slug'] = $url_slug;
}发布于 2010-03-18 23:26:25
您需要修改foreach中的值。在foreach中使用&。
试试这个:
foreach ($array as $key => &$value)
$value['url_slug'] = $url_slug;发布于 2010-03-18 23:27:04
假设您的数组在$a中
foreach($a AS $key=>$value) {
$a[$key]['url_slug'] = 'foo';
}https://stackoverflow.com/questions/2470988
复制相似问题