2016-04-16 46 views
-2

我找PHP函數,可以增加傳統軟件版本號...增加經典軟件版本號的PHP函數?

<?php 

$a_version_number = '3.1.2'; 

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

在哪裏可以找到的功能,會做任何想法我在尋找什麼呢?

+2

你爲什麼不自己寫一個? –

+0

因爲你不知道最新版本是什麼,沒有默認爲靜態數字,我猜測version_increment真的是唯一可行的從這個問題 –

+0

原因我沒有立即寫我自己很簡單,我被告知一次,一個偉大的程序員使用其他人的代碼......另外,通過查看其他人的代碼,我可以更廣泛地瞭解人們如何編碼不同 –

回答

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"; 
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 

我沒有一個遞減的版本,但應該很容易實現。