Как сортировать информацию о версиях - PullRequest
16 голосов
/ 01 января 2012

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

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

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

Ответы [ 3 ]

44 голосов
/ 01 января 2012

PHP имеет функцию version_compare .Используйте usort для сортировки.Нравится следующее.:)

$a = array('2.4','2.3.4','2.4.0.9');
usort($a, 'version_compare');
5 голосов
/ 01 января 2012

Или просто используйте 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 голосов
/ 01 января 2012

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

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