У меня есть массив, содержащий несколько массивов. Как это:найти и отсортировать массив по наименьшему значению в многомерном массиве
array{
array{
id => 1
name => place_1
lat => 56.1705
lon => 10.2010
distance => 1.545
}
array{
id => 14
name => place_14
lat => 56.1715
lon => 10.2049
distance => 1.765
}
//etc etc
}
Мне нужно сортировать массивы в пределах массива на расстоянии, от низкого до высокого - или по крайней мере получить позицию самого низкого расстояния в массиве (например, $array[1][4] == 1.765
).
Я уже делал что-то подобное раньше. Тогда я сделал это с помощью функции, как это:
function sort_by_dist($a, $b){
return $a['distance'] - $b['distance'];
}
usort($array, 'sort_by_dist');
Однако, это будет только в этом случае вернуть bool(true)
я понятия не имею, почему он действует таким образом.
Я знаю, что этот вопрос, вероятно, был задан (и ответил) раньше, но, как не говорящий по-английски, я немного не понимаю, что я должен искать.
Благодарим за помощь!
По определению 'usort' будет возвращать логическое значение: http://php.net/manual/en/function.usort.php массив' $ array' будет сортироваться в соответствии с определенной вами функцией (' sort_by_dist') – ymas