Я хотел бы знать, есть ли способ/метод. Я мог бы сортировать этот тип быстрее (даже если его 0,05 быстрее). Массив, как правило, 700 размер т.п.н.PHP Ускоренный ассоциативный массив sort
$price_posi = array();
$i = 0;
foreach ($results["items"] as $one_item)
{
if($a == 1)
{
$price_posi[i] = $one_item["price"]["paxgroup"][0]["cost"] + $one_item["price"]["paxgroup"][0]["othertotal"];
}
else if($b == 1)
{
$price_posi[i] = $one_item["price"]["paxgroup"][0]["cost"];
}
else if($c == 1)
{
$price_posi[i] = $one_item["price"]["paxgroup"][0]["wholesale"] + $one_item["price"]["paxgroup"][0]["othertotal"];
}
else if($d == 1)
{
$price_posi[i] = $one_item["price"]["paxgroup"][0]["wholesale"];
}
// Other actions on $results ....
$i++;
}
asort ($price_posi);
$sorted_results = array();
$i = 0;
foreach ($price_posi as $key => $price)
{
$sorted_results["items"][$i] = $results["items"][$key];
$i++;
}
$sorted_results["segments"] = $results["segments"];
$results = $sorted_results;
Я знаю asort уже очень быстро, но я должен перебрать мой массив в 2 раза, чтобы иметь возможность использовать asort, так как мой массив многомерный ассоциативный массив.
Дайте нам пример данных –
Зачем вам нужно проходить через два раза? И если данные поступают из базы данных, почему бы не позволить этому заказывать ваши данные? –
@MarkBaker данные не поступают из базы данных, мы получаем xml из API, который мы конвертируем в json – user2942945