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

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

PHP 合并和分組數組并總結它們

PHP 合并和分組數組并總結它們

PHP
函數式編程 2021-08-28 17:49:00
我有以下數組,它們根據某些計算返回值:print_r($adult_array);print_r($children_array);print_r($senior_array);//Adult array startArray(    [0] => Array    (        [travel_plan] => Business        [premium_price] => 1336.81        [eligibility] => Up to 75 Yrs        [lower_limit] => 0        [upper_limit] => 75        [no_travellers] => 2    )    [1] => Array    (        [travel_plan] => Holiday        [premium_price] => 22960.81        [eligibility] => Up to 75 Yrs        [lower_limit] => 0        [upper_limit] => 75        [no_travellers] => 2    )    [2] => Array    (        [travel_plan] => Schengen        [premium_price] => 11740.81        [eligibility] => Up to 75 Yrs        [lower_limit] => 0        [upper_limit] => 75        [no_travellers] => 2    )    [3] => Array    (        [travel_plan] => Student        [premium_price] => 22960.81        [eligibility] => Up to 30 Yrs        [lower_limit] => 0        [upper_limit] => 30        [no_travellers] => 2    ))//Adult array end //Children array start Array(    [0] => Array    (        [travel_plan] => Student        [premium_price] => 5740.205        [eligibility] => Up to 30 Yrs        [lower_limit] => 0        [upper_limit] => 30        [no_travellers] => 1    ))//Children array end //Senior array startArray(    [0] => Array    (        [travel_plan] => Senior        [premium_price] => 38714.41        [eligibility] => 76 to 85 Yrs        [lower_limit] => 76        [upper_limit] => 85        [no_travellers] => 1    ))//Senior array end上面的數組輸出由不同的變量檢索和保存。我想根據旅行計劃合并/分組數組,同時總結所有類似旅行計劃的保險費率。這樣每個旅行計劃只有一個數組,每個旅行計劃的溢價總和。
查看完整描述

3 回答

?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

array_merge(array1,array2,....)將是你的答案。這是一個例子。


$a = [

  [

      'travel_plan '=>'Schengen',

      'premium_price '=>'Rs 1,200'

    ],

  [

      'travel_plan '=>'Business ',

      'premium_price '=>'Rs 1,300'

    ]

];


$b = [

  [

      'travel_plan '=>'Senior ',

      'premium_price '=>'Rs 1,600'

    ]

];


$c =array_merge ($a,$b);

echo '<pre>';

print_r($c);

輸出將是這樣的


Array

(

    [0] => Array

        (

            [travel_plan ] => Schengen

            [premium_price ] => Rs 1,200

        )


    [1] => Array

        (

            [travel_plan ] => Business 

            [premium_price ] => Rs 1,300

        )


    [2] => Array

        (

            [travel_plan ] => Senior 

            [premium_price ] => Rs 1,600

        )


)


查看完整回答
反對 回復 2021-08-28
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

你可以試試這個方法。


$full_array = array_merge($adult_array,$children_array,$senior_array);

$result = [];

foreach($full_array as $item){

    // Count how many index

    if(isset($result[$item['travel_plan']])){

        $result[$item['travel_plan']] += 1;

    }else{

        $result[$item['travel_plan']] = 1;

    }


    // Sum total value

    if(isset($result[$item['travel_plan'].'_total'])){

        $result[$item['travel_plan'].'_total'] =         $result[$item['travel_plan'].'_total'] + $item['premium_price'];

    }else{

        $result[$item['travel_plan'].'_total'] = $item['premium_price'];

    }

}


查看完整回答
反對 回復 2021-08-28
  • 3 回答
  • 0 關注
  • 192 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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