У меня есть сценарий, который проходит через футбольные матчи, каждый день он отрабатывает сыгранные команды, победы, ничьи, поражения, бд и очки.В конце каждого дня он будет загружать таблицу в базу данных, так что у меня есть разные таблицы для каждого дня (у меня есть свои причины для этого, lol)
Проблема в том, что пример моего кода, который создаетмассив.
if (array_key_exists(strval($firstDate), $matches)) {
// Matches Exist
foreach($matches[$firstDate] as $matchList) {
$homeName = $matchList['homeTeamName'];
$homeScore = intval($matchList['homeTeamScore']);
$awayName = $matchList['awayTeamName'];
$awayScore = intval($matchList['awayTeamScore']);
$table[$homeName]['played']++;
$table[$awayName]['played']++;
// Check results
if ($homeScore > $awayScore) {
$table[$homeName]['homeWon']++;
$table[$awayName]['awayLost']++;
$table[$homeName]['points'] = $table[$homeName]['points'] + 3;
} else if ($homeScore == $awayScore) {
$table[$homeName]['homeDrawn']++;
$table[$awayName]['awayDrawn']++;
$table[$homeName]['points']++;
$table[$awayName]['points']++;
} else {
$table[$homeName]['homeLost']++;
$table[$awayName]['awayWon']++;
$table[$awayName]['points'] = $table[$awayName]['points'] + 3;
}
$table[$homeName]['homeFor'] = $table[$homeName]['homeFor'] + $homeScore;
$table[$homeName]['homeAgainst'] = $table[$homeName]['homeAgainst'] + $awayScore;
$table[$awayName]['awayFor'] = $table[$awayName]['awayFor'] + $awayScore;
$table[$awayName]['awayAgainst'] = $table[$awayName]['awayAgainst'] + $homeScore;
$table[$homeName]['goalDifference'] = intval($table[$homeName]['homeFor']) + intval($table[$homeName]['awayFor']) - intval($table[$homeName]['homeAgainst']) + intval($table[$homeName]['awayAgainst']);
$table[$awayName]['goalDifference'] = intval($table[$awayName]['homeFor']) + intval($table[$awayName]['awayFor']) - intval($table[$awayName]['homeAgainst']) + intval($table[$awayName]['awayAgainst']);
}
usort($table, function($a, $b) {
return $a['points'] - $b['points'];
});
} else {
// Matches Don't Exist
}
Таким образом, окончательный массив будет выглядеть так:
[Dover_Athletic] => Array
(
[name] => Dover_Athletic
[league_name] => National League
[competitionId] => 5
[currentDateLeague] =>
[position] => 0
[played] => 3
[homeWon] => 0
[homeDrawn] => 0
[homeLost] => 1
[homeFor] => 0
[homeAgainst] => 1
[awayWon] => 0
[awayDrawn] => 1
[awayLost] => 1
[awayFor] => 3
[awayAgainst] => 4
[goalDifference] => 6
[points] => 1
)
[Braintree_Town] => Array
(
[name] => Braintree_Town
[league_name] => National League
[competitionId] => 5
[currentDateLeague] =>
[position] => 0
[played] => 3
[homeWon] => 0
[homeDrawn] => 0
[homeLost] => 1
[homeFor] => 0
[homeAgainst] => 2
[awayWon] => 0
[awayDrawn] => 1
[awayLost] => 1
[awayFor] => 1
[awayAgainst] => 2
[goalDifference] => 1
[points] => 1
)
Как бы я упорядочил массив по точкам -> goaldifference -> name.
Я смотрел на такие вещи, как uSort, но потому что вторая часть моего массива - это имена команд, и я хочу упорядочить их по 3 увеличивающимся значениям.Я не могу найти ничего, что могло бы заставить меня понять, как это сделать.
Извините, если вы знаете о дубликате, у меня был поиск, но я не смог ничего найти.