3v4l.org

run code in 300+ PHP versions simultaneously
<?php function getTotalHours($companyName) { return ['Company_A' => '20h 45m', 'Company_B' => '7h 30m'][$companyName]; } $array = [ ['user_id' => 255, 'display_name' => 'Mark', 'company_name' => 'Company_A'], ['user_id' => 150, 'display_name' => 'Paul', 'company_name' => 'Company_A'], ['user_id' => 25, 'display_name' => 'Hulk', 'company_name' => 'Company_B'], ['user_id' => 50, 'display_name' => 'Bob', 'company_name' => 'Company_B'], ]; $result = []; foreach ($array as $row) { $cn = $row['company_name']; unset($row['company_name']); $result[$cn]['company_total_hours'] ??= getTotalHours($cn); $result[$cn]['employees'][] = $row; } var_export($result);
Output for git.master_jit, git.master
array ( 'Company_A' => array ( 'company_total_hours' => '20h 45m', 'employees' => array ( 0 => array ( 'user_id' => 255, 'display_name' => 'Mark', ), 1 => array ( 'user_id' => 150, 'display_name' => 'Paul', ), ), ), 'Company_B' => array ( 'company_total_hours' => '7h 30m', 'employees' => array ( 0 => array ( 'user_id' => 25, 'display_name' => 'Hulk', ), 1 => array ( 'user_id' => 50, 'display_name' => 'Bob', ), ), ), )

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
38.75 ms | 406 KiB | 5 Q