3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array = [ ["division" => "division1"], ["division" => "division2"], ["division" => "division1", "department" => "department10"], ["division" => "division1", "department" => null, "team" => "team91"], ["division" => "division1", "department" => "department10", "team" => "team85"], ["division" => "division3", "department" => "department999"], ["division" => "division2", "department" => "department33"], ["division" => "division1", "department" => null, "team" => "team92"] ]; array_multisort(array_map('count', $array), SORT_DESC, $array); $result = []; foreach ($array as $row) { foreach ($result as $saved) { if (!array_diff_assoc($row, $saved)) { continue 2; } } $result[] = $row; } var_export($result);
Output for 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 ( 0 => array ( 'division' => 'division1', 'department' => NULL, 'team' => 'team91', ), 1 => array ( 'division' => 'division1', 'department' => NULL, 'team' => 'team92', ), 2 => array ( 'division' => 'division1', 'department' => 'department10', 'team' => 'team85', ), 3 => array ( 'division' => 'division2', 'department' => 'department33', ), 4 => array ( 'division' => 'division3', 'department' => 'department999', ), )

preferences:
57.84 ms | 408 KiB | 5 Q