亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將數組插入數組集合而不循環

將數組插入數組集合而不循環

PHP
阿晨1998 2022-07-16 17:04:59
我有兩個數組..陣列 1$arr1 = array(    'task' => 'delete')陣列 2$arr2 = array(            array(                'id'    => '1',                 'type'  => 'post',            ),            array(                'id'    => '2',                 'type'  => 'category',            ),            array(                'id'    => '1',                 'type'  => 'tag',            ),        );我如何將 Array 1 插入到所有 Array 2 集合中,結果是這樣。$arr2 = array(            array(                'id'    => '1',                'task' => 'delete',                'type'  => 'post',            ),            array(                'id'    => '2',                 'task' => 'delete',                'type'  => 'category',            ),            array(                'id'    => '1',                 'task' => 'delete',                'type'  => 'tag',            ),        );我可以很容易地通過使用循環來獲得結果,但我想不使用循環來實現它。有什么建議嗎?謝謝 :)
查看完整描述

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


查看完整回答
反對 回復 2022-07-16
?
皈依舞

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 您可以在此處查看文檔。


查看完整回答
反對 回復 2022-07-16
?
開滿天機

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


查看完整回答
反對 回復 2022-07-16
  • 3 回答
  • 0 關注
  • 147 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號