Подтвердить что ты не робот

Как отсортировать информацию о версии

Каков правильный способ обработки индикаторов управления версиями, таких как 2.4 или 2.4.0.9 и т.д., чтобы получить возможность сортировки версий.

PHP говорит, что 1.3.4 не является допустимым целым числом, но также недопустимым числом.

array('2.4','2.3.4','2.4.0.9')
4b9b3361

Ответ 1

В PHP есть функция version_compare. Используйте usort, чтобы отсортировать его. Как и после.:)

$a = array('2.4','2.3.4','2.4.0.9');
usort($a, 'version_compare');

Ответ 2

Или просто используйте 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 )

Ответ 3

Сохранение его в виде строки позволяет использовать функцию version_compare():

$versions = array('2.4','2.3.4','2.4.0.9');
usort($versions, 'version_compare');

Ответ 4

Принятый ответ неверен, usort возвращает логическое значение для успеха. массив для сортировки передается по ссылке.

Но поскольку переполнение стека в его бесконечной мудрости не позволяет мне добавить это в качестве комментария к ответу и не позволяет мне поднять правильный ответ или понизить неправильный ответ, этот новый ответ придется делать.

Ответ Шиплу Мокадима неверный, ответ Тима Купера правильный.

И да, я знаю, что этому посту более 7 лет, но эй; за 7 лет никто больше не удосужился убедиться, что информация верна???