version_compare

version_compare関数:文字列のバージョン番号を比較する

使い方

$comp = version_compare( ’5.1.0′, ’5.0.0′ );

2つのバージョン番号を比較して、どちらがバージョンが新しいか、古いかを判断してくれる関数です。
PHPのバージョン番号に合わせて実装されていますが、他のソフトウェアのバージョン番号でも大体正しく比較してくれます。
実際バージョン番号を比較するのって結構めんどくさいんですよね。
「5.1.9と5.1.10って、どっちが新しいんだっけ?」とか一瞬自信なくしません?
そんなあなたにオススメの関数です。

ちなみに戻り値が少しわかりにくいので表でご説明します。

条件 戻り値
第1引数 = 第2引数 0
第1引数 > 第2引数 1
第1引数 < 第2引数 -1

戻り値が分かりづらい!と思った方もだいじょうぶ!
実は第3引数を指定することができるんです。こんな風に↓

if( version_compare(PHP_VERSION, '5.0.0', '>=') ) {
    //PHPのバージョンが5.0.0か、それより新しい場合の処理
}
else {
    //PHPのバージョンが5.0.0未満の場合の処理
}

ちなみに、devなどのプレリリース版は正式版よりも低く評価されるようですので注意が必要です。
詳細は公式サイトをご覧あれ。

使いどころ

久々に出ました。こんなのいつ使うの?という関数です。
でも意外と有用なんです。
例えば、PHP5.2以下とPHP5.3以上で処理を分けたいときや、
PHP4だったら「このアプリケーションは非対応です!」とかやりたくなったら迷わずこれです。

公式サイト
http://jp1.php.net/manual/ja/function.version-compare.php