version_compare
(PHP 4 >= 4.1.0, PHP 5)
version_compare — Compare deux chaînes de version au format des versions PHP
Description
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
- phpversion() - Retourne le numéro de la version courante de PHP
- php_uname() - Retourne les informations sur le système d'exploitation
- function_exists() - Indique si une fonction est définie