<?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