Я извлекаю некоторые данные из базы данных MySQL, которая представляет местоположение. Он включает в себя широту и долготу местоположения.Сортировка результатов базы данных по двойному столбцу в PHP
На клиенте я использую геолокацию HTML, чтобы получить широту и долготу пользователя. Эти значения передаются в PHP-скрипт, который извлекает данные в форме скрытого поля формы.
Я могу рассчитать расстояние от местоположения пользователя до местоположения, полученного из базы данных.
Мне нужно отсортировать данные, которые отображаются на расстоянии. Я попробовал этот код
// First I loop over the results
foreach($data as $venue)
{
$venue['distance'] = calculateDistance(users_lat, users_long,
$venue['lat'], $venue['long']);
}
Тогда я стараюсь использовать array_multisort сортировать по расстоянию колонки
array_multisort($data['distance'], SORT_ASC, SORT_NUMERIC);
Я получаю это предупреждение:
Warning: array_multisort(): Argument #1 is expected to be an array or a sort flag
уага дампа (первые 3 результатов)
["Distance"]=> float(1.5)
["Distance"]=> float(2)
["Distance"]=> float(1.7)
Я нахожусь до получения предупреждения.
вы можете 'var_dump на $ data' и показать нам результаты? –
var_dump показывает расстояние как пустое, поэтому я предполагаю, что данные не обновляются – andrewb
вот и все! что причина вашего 'array_multisort()' не работает –