Forum und email

version_compare

(PHP 4 >= 4.0.7, PHP 5)

version_compare — Compare deux chaînes de versions 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 comme si vous utilisiez 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 : dev < alpha = a < beta = b < RC < pl. De cette façon, vous pouvez 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 vous spécifiez le troisième argument optionnel operator , vous pouvez tester une relation particulière. Les opérateurs possibles sont : <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne. En utilisant cet argument, la fonction retournera TRUE si la relation est vérifiée et FALSE sinon.

Valeurs de retour

Retourne -1 si version1 est inférieure à version2 , 0 si elles sont égales, et +1 dans le reste des cas.

Exemples

Example#1 Exemple avec version_compare()

<?php
// Affiche -1
echo version_compare("4.0.4""4.0.6");

// Tout ce qui suit retourne 1
echo version_compare("4.0.4""4.0.6""<");
echo 
version_compare("4.0.6""4.0.6""eq");
?>

Notes

Note: La constante PHP_VERSION contient la version courante de PHP.