3v4l.org

run code in 300+ PHP versions simultaneously
<?php $array1 = $array2 = $array3 = $array4 = [ ['team_id' => 1, 'punkte_s' => 6, 'fairness' => 5, 'tore_diff' => -1, 'tore_erzielt' => 6], ['team_id' => 2, 'punkte_s' => 1, 'fairness' => 3, 'tore_diff' => -5, 'tore_erzielt' => 2], ['team_id' => 3, 'punkte_s' => 9, 'fairness' => null, 'tore_diff' => 12, 'tore_erzielt' => 15], ['team_id' => 4, 'punkte_s' => 1, 'fairness' => null, 'tore_diff' => -6, 'tore_erzielt' => 1] ]; array_multisort( array_column($array1, 'punkte_s'), SORT_DESC, array_column($array1, 'fairness'), SORT_DESC, array_column($array1, 'tore_diff'), SORT_DESC, array_column($array1, 'tore_erzielt'), SORT_DESC, $array1 ); var_export($array1); echo "\n---\n"; foreach ($array2 as $row) { $punkte_s[] = $row['punkte_s']; $fairness[] = $row['fairness']; $tore_diff[] = $row['tore_diff']; $tore_erzielt[] = $row['tore_erzielt']; } array_multisort( $punkte_s, SORT_DESC, $fairness, SORT_DESC, $tore_diff, SORT_DESC, $tore_erzielt, SORT_DESC, $array2 ); var_export($array2); echo "\n---\n"; usort($array3, function($a, $b) { return [$b['punkte_s'], $b['fairness'], $b['tore_diff'], $b['tore_erzielt']] <=> [$a['punkte_s'], $a['fairness'], $a['tore_diff'], $a['tore_erzielt']]; }); var_export($array3); echo "\n---\n"; usort($array4, function($a, $b) { unset($a['team_id'], $b['team_id']); return $b <=> $a; }); var_export($array4);
Output for 7.2.0 - 7.2.26, 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.26, 8.4.1 - 8.4.13
array ( 0 => array ( 'team_id' => 3, 'punkte_s' => 9, 'fairness' => NULL, 'tore_diff' => 12, 'tore_erzielt' => 15, ), 1 => array ( 'team_id' => 1, 'punkte_s' => 6, 'fairness' => 5, 'tore_diff' => -1, 'tore_erzielt' => 6, ), 2 => array ( 'team_id' => 2, 'punkte_s' => 1, 'fairness' => 3, 'tore_diff' => -5, 'tore_erzielt' => 2, ), 3 => array ( 'team_id' => 4, 'punkte_s' => 1, 'fairness' => NULL, 'tore_diff' => -6, 'tore_erzielt' => 1, ), ) --- array ( 0 => array ( 'team_id' => 3, 'punkte_s' => 9, 'fairness' => NULL, 'tore_diff' => 12, 'tore_erzielt' => 15, ), 1 => array ( 'team_id' => 1, 'punkte_s' => 6, 'fairness' => 5, 'tore_diff' => -1, 'tore_erzielt' => 6, ), 2 => array ( 'team_id' => 2, 'punkte_s' => 1, 'fairness' => 3, 'tore_diff' => -5, 'tore_erzielt' => 2, ), 3 => array ( 'team_id' => 4, 'punkte_s' => 1, 'fairness' => NULL, 'tore_diff' => -6, 'tore_erzielt' => 1, ), ) --- array ( 0 => array ( 'team_id' => 3, 'punkte_s' => 9, 'fairness' => NULL, 'tore_diff' => 12, 'tore_erzielt' => 15, ), 1 => array ( 'team_id' => 1, 'punkte_s' => 6, 'fairness' => 5, 'tore_diff' => -1, 'tore_erzielt' => 6, ), 2 => array ( 'team_id' => 2, 'punkte_s' => 1, 'fairness' => 3, 'tore_diff' => -5, 'tore_erzielt' => 2, ), 3 => array ( 'team_id' => 4, 'punkte_s' => 1, 'fairness' => NULL, 'tore_diff' => -6, 'tore_erzielt' => 1, ), ) --- array ( 0 => array ( 'team_id' => 3, 'punkte_s' => 9, 'fairness' => NULL, 'tore_diff' => 12, 'tore_erzielt' => 15, ), 1 => array ( 'team_id' => 1, 'punkte_s' => 6, 'fairness' => 5, 'tore_diff' => -1, 'tore_erzielt' => 6, ), 2 => array ( 'team_id' => 2, 'punkte_s' => 1, 'fairness' => 3, 'tore_diff' => -5, 'tore_erzielt' => 2, ), 3 => array ( 'team_id' => 4, 'punkte_s' => 1, 'fairness' => NULL, 'tore_diff' => -6, 'tore_erzielt' => 1, ), )

preferences:
133.04 ms | 417 KiB | 5 Q