だから私は次の配列を持っています: http://pastebin.com/raw.php?i=AazcQUbG
以下の関数の外側のコードの一部で、この特定の順序付き配列 (2 番目の次元の「team_points」で順序付け) をループし、「team_points」に同点があるかどうかを判断します。team_points で同点の場合は、それぞれの tie_breaker を確認します。
同点が存在し、最初の次元の 2 番目のアイテムの tie_breaker が最初のアイテムよりも小さい場合、最初の次元の順序の切り替えが行われるようにします。
次の関数は切り替えを強制していません。この配列の最初の次元の位置を切り替えることができない理由を理解し、それを達成する方法を提案してもらえますか?
function array_swap($key1, $key2, $array) {
$newArray = array ();
foreach ($array as $key => $value) {
if ($key == $key1) {
$newArray[$key2] = $array[$key2];
} elseif ($key == $key2) {
$newArray[$key1] = $array[$key1];
} else {
$newArray[$key] = $value;
}
}
return $newArray;
}