Ответ 1
В PHP есть функция version_compare. Используйте usort, чтобы отсортировать его. Как и после.:)
$a = array('2.4','2.3.4','2.4.0.9');
usort($a, 'version_compare');
Каков правильный способ обработки индикаторов управления версиями, таких как 2.4
или 2.4.0.9
и т.д., чтобы получить возможность сортировки версий.
PHP говорит, что 1.3.4
не является допустимым целым числом, но также недопустимым числом.
array('2.4','2.3.4','2.4.0.9')
В PHP есть функция version_compare. Используйте usort, чтобы отсортировать его. Как и после.:)
$a = array('2.4','2.3.4','2.4.0.9');
usort($a, 'version_compare');
Или просто используйте natsort:
$array = array('2.4','2.16.6','2.3.4','2.4.0.9');
natsort($array);
print_r($array);
#Array ( [2] => 2.3.4 [0] => 2.4 [3] => 2.4.0.9 [1] => 2.16.6 )
Сохранение его в виде строки позволяет использовать функцию version_compare()
:
$versions = array('2.4','2.3.4','2.4.0.9');
usort($versions, 'version_compare');
Принятый ответ неверен, usort возвращает логическое значение для успеха. массив для сортировки передается по ссылке.
Но поскольку переполнение стека в его бесконечной мудрости не позволяет мне добавить это в качестве комментария к ответу и не позволяет мне поднять правильный ответ или понизить неправильный ответ, этот новый ответ придется делать.
Ответ Шиплу Мокадима неверный, ответ Тима Купера правильный.
И да, я знаю, что этому посту более 7 лет, но эй; за 7 лет никто больше не удосужился убедиться, что информация верна???