2016-04-16 7 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

ここでは両方を行う単一の機能があります。 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 

を私はデクリメントバージョンを持っていけないが、実装が容易でなければなりません。