第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

PHP - 合并和組合數(shù)組

PHP - 合并和組合數(shù)組

PHP
藍(lán)山帝景 2021-11-05 14:45:07
我有 3 個數(shù)組,如下所示:數(shù)組 1:array 1: [  0 => array[    "product_id" => "a"    "quantity_1" => "1"  ]  1 => array[    "product_id" => "b"    "quantity_1" => "2"  ]  2 => array[    "product_id" => "c"    "quantity_1" => "1"  ]]數(shù)組 2:array 2: [  0 => array[    "product_id" => "a"    "quantity_2" => "1"  ]  1 => array[    "product_id" => "d"    "quantity_2" => "2"  ]]我想要的結(jié)果是:array 3: [  0 => array[    "product_id" => "a"    "quantity_1" => "1"    "quantity_2" => "1"  ]  1 => array[    "product_id" => "b"    "quantity_1" => "2"  ]  2 => array[    "product_id" => "c"    "quantity_1" => "1"  ]  3 => array[    "product_id" => "d"    "quantity_2" => "2"  ]]我嘗試使用 array_combine() 函數(shù),但結(jié)果并不如預(yù)期
查看完整描述

1 回答

?
HUWWW

TA貢獻(xiàn)1874條經(jīng)驗 獲得超12個贊

如果您愿意將 product_id 作為密鑰,那么您可以這樣做:


$a = [

  0 => [

    "product_id" => "a",

    "quantity_1" => "1"

  ],

  1 => [

    "product_id" => "b",

    "quantity_1" => "2"

  ],

  2 => [

    "product_id" => "c",

    "quantity_1" => "1"

  ]

];


$b =  [

  0 => [

    "product_id" => "a",

    "quantity_2" => "1"

  ],

  1 => [

    "product_id" => "d",

    "quantity_2" => "2"

  ]

];


 print_r(

      array_replace_recursive(

             array_column($a, null, 'product_id'),

             array_column($b, null, 'product_id')

      )

 );

輸出


Array

(

    [a] => Array

        (

            [product_id] => a

            [quantity_1] => 1

            [quantity_2] => 1

        )


    [b] => Array

        (

            [product_id] => b

            [quantity_1] => 2

        )


    [c] => Array

        (

            [product_id] => c

            [quantity_1] => 1

        )


    [d] => Array

        (

            [product_id] => d

            [quantity_2] => 2

        )


)

沙盒


您可以隨時從結(jié)果中刪除密鑰,array_values如下所示:


 print_r(

    array_values(

      array_replace_recursive(

             array_column($a, null, 'product_id'),

             array_column($b, null, 'product_id')

      )

    )

 );

-注意- product_ids 在每個數(shù)組中必須是唯一的,這樣才能工作。否則,您可以簡單地使用 foreach 循環(huán)來完成。


$c = [];


foreach(array_merge($a,$b) as $v){

    $k = $v['product_id'];

    if(!isset($c[$k])){

        $c[$k] = $v;

    }else{

        $c[$k] = array_merge($c[$k],$v);

    }

}


print_r($c);

沙盒


我會發(fā)布輸出,但它是相同的:) - 這就是重點。此外,我更喜歡盡可能少地引用這些鍵。它可以使維護(hù)代碼更容易一些。


查看完整回答
反對 回復(fù) 2021-11-05
  • 1 回答
  • 0 關(guān)注
  • 183 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號