Php 在不循环的情况下插入数组到数组集合
我有两个数组 阵列1Php 在不循环的情况下插入数组到数组集合,php,Php,我有两个数组 阵列1 $arr1 = array( 'task' => 'delete' ) 阵列2 $arr2 = array( array( 'id' => '1', 'type' => 'post', ), array( 'id' => '2',
$arr1 = array(
'task' => 'delete'
)
阵列2
$arr2 = array(
array(
'id' => '1',
'type' => 'post',
),
array(
'id' => '2',
'type' => 'category',
),
array(
'id' => '1',
'type' => 'tag',
),
);
我如何将数组1插入到所有数组2集合中,因此结果为
$arr2 = array(
array(
'id' => '1',
'task' => 'delete',
'type' => 'post',
),
array(
'id' => '2',
'task' => 'delete',
'type' => 'category',
),
array(
'id' => '1',
'task' => 'delete',
'type' => 'tag',
),
);
我可以很容易地得到的结果,使用循环,但我想实现它不使用循环。
有什么建议吗?
谢谢:)您可以使用。虽然它在幕后循环(没有真正的方法),但至少你不必自己做:
$arr3 = array_map(static function ($entry) use ($arr1) {
return $entry + $arr1;
}, $arr2);
PHP 7.4版本:
$arr3 = array_map(static fn($entry) => $entry + $arr1, $arr2);
演示:您可以使用。虽然它在幕后循环(没有真正的方法),但至少你不必自己做:
$arr3 = array_map(static function ($entry) use ($arr1) {
return $entry + $arr1;
}, $arr2);
PHP 7.4版本:
$arr3 = array_map(static fn($entry) => $entry + $arr1, $arr2);
演示:您可以使用
array\u 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\u walk
的文档。您可以使用array\u 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\u walk
的文档为了在array2中推送array1所有索引,您可以将array\u 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);
?>
Git集线器
为了在array2中推送array1所有索引,您可以将array\u walk与array merge结合使用,例如,您可以看到下面的代码
<?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);
?>
Git集线器