为了账号安全,请及时绑定邮箱和手机立即绑定

array_walk 在修改值时未按预期工作

array_walk 在修改值时未按预期工作

PHP
蝴蝶不菲 2023-04-21 17:22:22
我正在尝试向数组添加一个新值(我知道这是可能的,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;
});


查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 62 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信