version_compare

(PHP 4 >= 4.1.0, PHP 5)

version_compare -- Compare deux chaînes de versions au format des versions PHP

Description

int 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() retourne -1 si version1 est inférieure à version2, 0 si elles sont égales, et +1 dans le reste des cas.

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 aplhabé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.

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, version_compare() retournera 1 si la relation est vérifiée et 0 sinon.

Exemple 1. Exemple avec version_compare()

<?php
echo version_compare("4.0.4", "4.0.6"); // -1
echo version_compare("4.0.4", "4.0.6", "<"); // 1
echo version_compare("4.0.6", "4.0.6", "eq"); // 1
?>