实现version_compare函数。
- 假设给你的两个版本号里面,都不为空
- 字符串中只包含数字和小数点.
- 如果a >b 返回 1 b > a 返回-1,其他情况返回0
php
function version_compare(string $v1,string $v2): int{
$v1Arr = explode('.',$v1);
$v2Arr = explode('.',$v2);
$len = count($v1Arr) > count($v2Arr) ? count($v1Arr) : count($v2Arr);
for ($i = 0; $i < $len;$i++) {
$n = (int)($v1Arr[$i] ?? 0);
$m = (int) ($v2Arr[$i] ?? 0);
if ($n > $m) {
return 1;
} else if ($n < $m) {
return -1;
}
}
return 0;
}