質問の仕方が合っているかわからないのですが、
以下の条件で、後述の配列を修正し直したいです。
良い方法があれば教えていただけると幸いです。
マージさせる条件
- groupの値が同じである場合
- priceの配列をマージする---
- マージしたあとのpriceの配列のキーは重複させない
マージする前の配列
php
1$array = array( 2 0 => array( 3 'group' => 'AAA', 4 'name' => 'AAA-Group', 5 'price' => array( 6 0 => array( 7 'label' => 'S', 8 'price' => 38790, 9 ), 10 1 => array( 11 'class' => 'S', 12 'price' => 35790, 13 ), 14 ), 15 ), 16 1 => array( 17 'group' => 'AAA', 18 'name' => 'AAA-Group', 19 'price' => array( 20 0 => array( 21 'label' => 'N', 22 'price' => 10800, 23 ), 24 1 => array( 25 'class' => 'N', 26 'price' => 10800, 27 ), 28 2 => array( 29 'class' => 'N', 30 'price' => 21600, 31 ), 32 ), 33 ), 34 2 => array( 35 'group' => 'BBB', 36 'name' => 'BBB-Group', 37 'price' => array( 38 0 => array( 39 'label' => 'S', 40 'price' => 38790, 41 ), 42 1 => array( 43 'class' => 'S', 44 'price' => 35790, 45 ), 46 ), 47 ), 48);
希望するマージ後の配列の状態
php
1$array = array( 2 0 => array( 3 'group' => 'AAA', 4 'name' => 'AAA-Group', 5 'price' => array( 6 0 => array( 7 'label' => 'S', 8 'price' => 38790, 9 ), 10 1 => array( 11 'class' => 'S', 12 'price' => 35790, 13 ), 14 2 => array( 15 'label' => 'N', 16 'price' => 10800, 17 ), 18 3 => array( 19 'class' => 'N', 20 'price' => 10800, 21 ), 22 4 => array( 23 'class' => 'N', 24 'price' => 21600, 25 ), 26 ), 27 ), 28 2 => array( 29 'group' => 'BBB', 30 'name' => 'BBB-Group', 31 'price' => array( 32 0 => array( 33 'label' => 'S', 34 'price' => 38790, 35 ), 36 1 => array( 37 'class' => 'S', 38 'price' => 35790, 39 ), 40 ), 41 ), 42);
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/25 16:46 編集