软件/系统版本号列表排序
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2022-10-15 21:36:08
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
/**
* 版本号排序
* @param array $versions
* @param bool $sortAsc
* @return array
*/
public static function sortVersion(array $versions, bool $sortAsc = true): array
{
foreach ($versions as $key => $value) {
$firstArr = explode('.', $value);
$firstArrCount = count($firstArr);
for ($i = 0; $i < $firstArrCount; $i++) {
// 填充长度要匹配版本数字最大值的的长度来设定,
$firstArr[$i] = str_pad($firstArr[$i], 6, 0, STR_PAD_LEFT);
}
$versions[$key] = implode('.', $firstArr);
}
if ($sortAsc) {
sort($versions);
} else {
rsort($versions);
}
foreach ($versions as $key => $value) {
$firstArr = explode('.', $value);
$firstArrCount = count($firstArr);
for ($i = 0; $i < $firstArrCount; $i++) {
$firstArr[$i] = intval($firstArr[$i]);
}
$versions[$key] = implode('.', $firstArr);
}
return $versions;
}降序

升序
