Fonctions sur les options et les informations de PHP
PHP Manual

version_compare

(PHP 4 >= 4.1.0, PHP 5)

version_compareCompare deux chaînes de version au format des versions PHP

Description

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

version_compare() compare les deux versions de PHP standardisées. Cette fonction est pratique pour les programmes qui doivent vérifier la version de PHP qui les fait tourner.

version_compare() remplace dans un premier temps _, - et + par un point (.) dans les chaînes de version et insère aussi des points avant et après tout caractère non-numérique pour que, par exemple, '4.3.5RC1' devienne '4.3.5.RC.1'. Ensuite, elle découpe les résultats, similairement à explode('.', $ver). Puis, elle compare les morceaux en allant de gauche à droite. Si une part contient des caractères alphabétiques, ils sont gérés dans l'ordre suivant : any string not found in this list < dev < alpha = a < beta = b < RC = rc < # < pl = p. De cette façon, il est possible de comparer non seulement des versions de différents niveaux, comme '4.1' et '4.1.2', mais aussi des versions de développement à la mode de PHP, à n'importe quel stade.

Liste de paramètres

version1

Premier numéro de version.

version2

Second numéro de version.

operator

Si troisième argument optionnel operator est spécifié, il est possible de tester une relation particulière. Les opérateurs possibles sont : <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne.

Ce paramètre est sensible à la casse, aussi les valeurs doivent être en minuscule.

Valeurs de retour

Par défaut, version_compare() retourne -1 si la première version est inférieure à la seconde, 0 si elles sont égales, et 1 si la seconde est inférieure à la première.

Lorsque l'on utilise le paramètre optionnel operator, la fonction retourne TRUE si la relation est celle spécifiée par l'opérateur, FALSE sinon.

Exemples

Les exemples ci-dessous utilisent la constante PHP_VERSION, sachant qu'elle contient la valeur de la version PHP utilisée pour exécuter le code.

Exemple #1 Exemple avec version_compare()

<?php
if (version_compare(PHP_VERSION'6.0.0') >= 0) {
    echo 
'J\'ai au moins la version 6.0.0 de PHP ; ma version : ' PHP_VERSION "\n";
}

if (
version_compare(PHP_VERSION'5.3.0') >= 0) {
    echo 
'J\'ai au moins la version 5.3.0 de PHP ; ma version : ' PHP_VERSION "\n";
}

if (
version_compare(PHP_VERSION'5.0.0''>=')) {
    echo 
'J\'utilise PHP 5 ; ma version : ' PHP_VERSION "\n";
}

if (
version_compare(PHP_VERSION'5.0.0''<')) {
    echo 
'J\'utilise PHP 4 ; ma version : ' PHP_VERSION "\n";
}
?>

Notes

Note:

La constante PHP_VERSION contient la version courante de PHP.

Note:

Notez que les versions intermédiaires, comme 5.3.0-dev, sont considérées comme inférieures à leurs versions finales (telle que 5.3.0).

Note:

Les chaînes spéciales de version comme alpha et beta sont sensibles à la casse. Les chaînes de version issues de sources arbitraires qui n'adhère pas au standard PHP doivent être mises en minuscule en utilisant la fonction strtolower() avant d'appeler la fonction version_compare().

Voir aussi


Fonctions sur les options et les informations de PHP
PHP Manual