3 回答

TA贡献1155条经验 获得超0个赞
为了将array2中的所有索引推入array_walk,您可以将array_walk与数组合并结合使用,例如,您可以查看下面的代码
<?php
$array1 = array(
'task' => 'delete',
'before' =>'test'
);
$array2=array(
array(
'id' => '1',
'type' => 'post',
),
array(
'id' => '2',
'type' => 'category',
),
array(
'id' => '1',
'type' => 'tag',
),
);
array_walk($array2, function(&$newarray) use ($array1) {
$newarray = array_merge($newarray, $array1);
});
print_r($array2);
?>
array_walk - 将用户提供的函数应用于数组的每个成员,而 array_merge,将两个数组合并为一个数组
结果
Array (
[0] => Array ( [id] => 1 [type] => post [task] => delete [before] => test )
[1] => Array ( [id] => 2 [type] => category [task] => delete [before] => test )
[2] => Array ( [id] => 1 [type] => tag [task] => delete [before] => test ) )
Git 中心
https://github.com/fahadpatel/insert-array-into-array-without-loop

TA贡献1851条经验 获得超3个赞
您可以使用array_walk跳过编写循环。
$arr1 = array(
'task' => 'delete'
);
$arr2 = array(
array(
'id' => '1',
'type' => 'post',
),
array(
'id' => '2',
'type' => 'category',
),
array(
'id' => '1',
'type' => 'tag',
),
);
array_walk($arr2, function(&$item) use ($arr1) {
$item = array_merge($item, $arr1);
});
array_walk 您可以在此处查看文档。

TA贡献1786条经验 获得超13个赞
您可以使用array_map. 虽然它在幕后循环(没有真正的解决方法),但至少你不必自己做:
$arr3 = array_map(static function ($entry) use ($arr1) {
return $entry + $arr1;
}, $arr2);
PHP 7.4 版本:
$arr3 = array_map(static fn($entry) => $entry + $arr1, $arr2);
演示:https ://3v4l.org/2u2SR
- 3 回答
- 0 关注
- 161 浏览
添加回答
举报