3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = Array ( 0 => Array ( 'name' => 'John Doe', 'age' => '36', 'code' => '437', 'group' => '1000', ), 1 => Array ( 'name' => 'John Doe', 'age' => '36', 'code' => '437', 'group' => '7777', ), 2 => Array ( 'name' => 'John Doe', 'age' => '36', 'code' => '437', 'group' => '7777', ), 3 => Array ( 'name' => 'John Doe', 'age' => '36', 'code' => '437', 'group' => '4000', ), 4 => Array ( 'name' => 'John Doe', 'age' => '36', 'code' => '437', 'group' => '4000', ), 5 => Array ( 'name' => 'John Doe', 'age' => '36', 'code' => '437', 'group' => '5000', ), 6 => Array ( 'name' => 'John Doe', 'age' => '36', 'code' => '437', 'group' => '6000', ), 7 => Array ( 'name' => 'John Doe', 'age' => '36', 'code' => '437', 'group' => '6000', ), ); $names = array_column($array, "name"); $groups = array_column($array, "group"); foreach(array_unique($names) as $name){ $intersects = array_intersect_key($array, array_intersect($names, [$name])); $new[$name] = ["name" => $name, "age" => end($intersects)["age"]]; foreach(array_unique($groups) as $group){ $intersects = array_intersect_key($array, array_intersect($groups, [$group])); foreach($intersects as $int){ $temp = array_diff($int, ["name" => $new[$name]["name"], "age" => $new[$name]["age"]]); if($temp["group"] == "1000" || $temp["group"] == "7777"){ $new[$name][$group][] = $temp; }else{ $new[$name]["others"][] = $temp; } } } } var_dump($new);
Output for git.master_jit, git.master, rfc.property-hooks
array(1) { ["John Doe"]=> array(5) { ["name"]=> string(8) "John Doe" ["age"]=> string(2) "36" [1000]=> array(1) { [0]=> array(2) { ["code"]=> string(3) "437" ["group"]=> string(4) "1000" } } [7777]=> array(2) { [0]=> array(2) { ["code"]=> string(3) "437" ["group"]=> string(4) "7777" } [1]=> array(2) { ["code"]=> string(3) "437" ["group"]=> string(4) "7777" } } ["others"]=> array(5) { [0]=> array(2) { ["code"]=> string(3) "437" ["group"]=> string(4) "4000" } [1]=> array(2) { ["code"]=> string(3) "437" ["group"]=> string(4) "4000" } [2]=> array(2) { ["code"]=> string(3) "437" ["group"]=> string(4) "5000" } [3]=> array(2) { ["code"]=> string(3) "437" ["group"]=> string(4) "6000" } [4]=> array(2) { ["code"]=> string(3) "437" ["group"]=> string(4) "6000" } } } }

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:
56.76 ms | 403 KiB | 8 Q