PHP函数增加经典软件版本号?

时间:2016-04-16 21:25:28

标签: php version

我正在寻找可以增加经典软件版本号的PHP函数......

实施例

<?php

$a_version_number = '3.1.2';

$c = version_increment($a_version_number);
echo 'Next Version: ' . $c . "\n";

关于我在哪里可以找到能够做我想做的功能的任何想法?

2 个答案:

答案 0 :(得分:3)

多年前,我写了这个功能。愚蠢而有些限制,但它有效:

function increment_version($version)
{
    $parts = explode('.', $version);

    if ($parts[2] + 1 < 99) {
        $parts[2]++;
    } else {
        $parts[2] = 0;
        if ($parts[1] + 1 < 99) {
            $parts[1]++;
        } else {
            $parts[1] = 0;
            $parts[0]++;        
        }
    }

    return implode('.', $parts);
}

示例:

increment_version('1.2.3');      // output: 1.2.4
increment_version('1.2.99');     // output: 1.3.0
increment_version('1.99.99');    // output: 2.0.0
increment_version('99.99.99');   // output: 100.0.0

我没有减量版本,但应该很容易实现。

答案 1 :(得分:2)

这是一个可以同时执行这两项操作的功能。如果第二个参数是正数,它将递增。如果它是负数,它将减少:

function version_update($i, $inc_dec){
    $a = explode('.', $i);
    if($inc_dec > 0){
        $a[count($a)-1]++;
    } elseif ($inc_dec < 0){
        $a[count($a)-1]--;
    }
    return implode('.', $a); 
}

$b = version_update($a_version_number, -1);
echo 'Previous Version: ' . $b . "\n";

$c = version_update($a_version_number, 1);
echo 'Next Version: ' . $c . "\n";