将元素添加到多维数组

ste*_*tef 0 php

我如何循环下面的数组和每个数组的元素,键"url_slug"和值"foo"?我尝试使用array_push,但是它取消了关键名称(看起来好像?)我认为,做一个foreach($ array为$ 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
        )

)
Run Code Online (Sandbox Code Playgroud)

编辑:完整的工作解决方案.比最初描述的要复杂一点

foreach ($prods as $key => &$value)
        {
            if($key == "cat_name") $slug = $value['cat_name'];          
            $url_slug = $this->lang->line($slug);       
            $value['url_slug'] = $url_slug;
        }
Run Code Online (Sandbox Code Playgroud)

St.*_*son 5

您需要修改foreach中的值.在foreach中使用&.

试试这个:

 foreach ($array as $key => &$value)
   $value['url_slug'] = $url_slug;
Run Code Online (Sandbox Code Playgroud)