Php 在不循环的情况下插入数组到数组集合

Php 在不循环的情况下插入数组到数组集合,php,Php,我有两个数组 阵列1 $arr1 = array( 'task' => 'delete' ) 阵列2 $arr2 = array( array( 'id' => '1', 'type' => 'post', ), array( 'id' => '2',

我有两个数组

阵列1

$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集线器