添加一个新的索引到多维数组


Add a new index to multidimensional array

我有一个多维数组

Array
(
    [0] => Array
        (
            [item_id] => 1
            [item_name] => x
        )

    [1] => Array
        (
            [item_id] => 1
            [item_name] => y
        )
)

我需要一种方法来给这个数组添加一个新的索引。

Array
(
    [0] => Array
        (
            [item_id] => 1
            [item_name] => x
            [value] => 1
        )

    [1] => Array
        (
            [item_id] => 1
            [item_name] => y
            [value] => 1
        )
)

值可以始终保持不变,也可以不保持不变。

实现这一点的一种方法是循环数组并插入新的索引value

我的问题是有没有其他更好的方法来做这件事。

谢谢。

您不需要使用array_walk_recursive,您可以使用array_walk:

array_walk($array, function(&$a) {
  $a['value'] = 1;
});

假设$arr是您的数组,$yourval是要作为新数组元素存储的值。你可以这样做:

for($i=0;$i<count($arr);$i++){
     $arr[$i]['value'] = $yourval;
}
echo '<pre>';
print_r($arr);//Will display the new array