Forum und email

version_compare

(PHP 4 >= 4.0.7, PHP 5)

version_compare — ふたつの "PHP 標準" バージョン番号文字列を比較する

説明

mixed version_compare ( string $version1 , string $version2 [, string $operator ] )

version_compare()は、ふたつの "PHP 標準" バージョン 番号文字列を比較します。この関数は、いくつかのバージョンの PHP でのみ 動作するプログラムを書きたい場合に有用です。

この関数はまず、バージョン文字列の _, -, + をドット . で置き換えます。 さらに、数値でない部分の前後にドット . を追加します。 例えば '4.3.2RC1' は '4.3.2.RC.1' となります。 次に、explode('.', $ver) とするのと同じように結果を分割し、左から右へ 各部分を比較していきます。特殊な文字列が含まれている場合は以下の順で 並べ替えます: dev < alpha = a < beta = b < RC < pl. この方法により、'4.1' と '4.1.2' のようなバージョンの違いだけではなく PHP 固有の開発ステータスの違いも判断することが可能となります。

パラメータ

version1

最初のバージョン番号。

version2

ふたつめのバージョン番号。

operator

三番目のオプション引数 operator を指定した場合、 特定の関係を調べることが可能です。指定可能な演算子を以下に示します。 <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne この引数を用いると、この関数はこの演算子により指定された関係が 成り立つ場合に TRUE 、そうでない場合に FALSE を返します。

返り値

version_compare()は、最初のバージョンが二番目よりも小さい場合に -1、等しい場合に 0、二番目のほうが小さい場合に +1 を返します。

Example#1 version_compare() の例

<?php
// -1 を表示します
echo version_compare("4.0.4""4.0.6");

// これらはすべて 1 を表示します
echo version_compare("4.0.4""4.0.6""<");
echo 
version_compare("4.0.6""4.0.6""eq");
?>

注意

注意: PHP_VERSION 定数には現在の PHP のバージョンが格納されます。