我正在尝试向数组添加一个新值(我知道这是可能的,array_map()但我想用 来测试它array_walk())。这是代码:$array = [ [ 'id' => 1, 'name' => 'Jesus', ], [ 'id' => 2, 'name' => 'David', ],];我想要这个输出:$array = [ [ 'id' => 1, 'name' => 'Jesus', 'locked' => 0, ], [ 'id' => 2, 'name' => 'David', 'locked' => 0, ],];我尝试使用以下代码:array_walk($array, static function(array $item): array { $item += ['locked' => 0]; //var_dump($item); // Here the array has the three values. return $item;});// Also I tried the same code but not returning the array, I mean:array_walk($array, static function(array $item): void { $item += ['locked' => 0]; //var_dump($item); // Here the array has the three values.});有可能我想要什么吗array_walk()?那将是一个解决方案array_map()。$arrayMapped = array_map(static function(array $item): array { return $item += ['locked' => 0];}, $array);var_dump($arrayMapped);干杯!
1 回答
互换的青春
TA贡献1797条经验 获得超6个赞
数组按值传递。您需要使用引用来定义参数&
array_walk($array, function(array &$item): void { $item['locked'] = 0; });
- 1 回答
- 0 关注
- 93 浏览
添加回答
举报
0/150
提交
取消