Как преобразовать строку в число с плавающей точкой, а затем отсортировать числа в порядке возрастания в многомерном массиве в PHP? - PullRequest
0 голосов
/ 24 апреля 2018

У меня есть массив строк, таких как:

$array = array(
    array('km' => '25 Km', 'name' => 'B'),
    array('km' => '1.2 Km', 'name' => 'A'),
    array('km' => '7.7 Km', 'name' => 'Q'),
    array('km' => '107 Km', 'name' => 'M'),
    array('km' => '0.1 Km', 'name' => 'R'),
    array('km' => '20 Km', 'name' => 'J'),
    array('km' => '20.3 Km', 'name' => 'HH'))

Как я могу преобразовать ключ km в числа с плавающей запятой и затем отсортировать $array в возрастающем числе на основе KEY km?

1 Ответ

0 голосов
/ 24 апреля 2018

С usort обратным вызовом это:

usort(
    $array, 
    function($a, $b) { return (float)$a['km'] <=> (float)$b['km']; }
);

Если <=> недоступно:

usort(
    $array, 
    function($a, $b) { return (float)$a['km'] - (float)$b['km']; }
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...