3v4l.org

run code in 300+ PHP versions simultaneously
<?php //Adult array start $adult_array = Array ( 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 $children_array = 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 start $senior_array = Array ( 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 $bigArray = array_merge($adult_array, $senior_array, $children_array); $BusinessTravels = sortByTravelPlan('Business', $bigArray); $StudentTravels = sortByTravelPlan('Student', $bigArray); $SeniorTravels = sortByTravelPlan('Senior', $bigArray); $SchengenTravels = sortByTravelPlan('Schengen', $bigArray); $finalResult = array_merge($BusinessTravels, $StudentTravels, $SeniorTravels, $SchengenTravels ); print_r($finalResult); function sortByTravelPlan($type, $bigArray){ $Array = []; foreach ($bigArray as $key => $value) { if($value['travel_plan'] == $type){ array_push($Array, $bigArray[$key]); } } return processArray($Array); } function processArray($array){ $result = []; $prev_price = null; $max_age = null; foreach ($array as $key => $value) { $result['travel_plan'] = $value['travel_plan']; if($value['premium_price'] > $prev_price){ $result['premium_price'] = $value['premium_price']; } } $result['upper_limit'] = 30; $result['lower_limit'] = 0; $result['no_travellers'] = count($array); return $result; } ?>
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
Array ( [travel_plan] => Schengen [premium_price] => 11740.81 [upper_limit] => 30 [lower_limit] => 0 [no_travellers] => 1 )

preferences:
105.98 ms | 408 KiB | 5 Q