(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
version_compare — Compare deux chaînes de version au format des versions PHP
version_compare() compare les deux versions de PHP standardisées.
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'. 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 de PHP, à n'importe quel stade.
version1Premier numéro de version.
version2Second numéro de version.
operator
Un opérateur optionnel. Les opérateurs possibles sont :
<, lt,
<=, le, >,
gt, >=, ge,
==, =, eq,
!=, <>, ne
respectivement.
Ce paramètre est sensible à la casse, les valeurs doivent donc être en minuscules.
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.
Les exemples ci-dessous utilisent la constante
PHP_VERSION, sachant qu'elle contient la valeur
de la version de PHP utilisée pour exécuter le code.
Exemple #1 Exemple avec version_compare()
<?php
if (version_compare(PHP_VERSION, '7.0.0') >= 0) {
echo 'J\'ai au moins la version 7.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\'ai au moins la version 5.0.0 de PHP ; ma version : ' . PHP_VERSION . "\n";
}
if (version_compare(PHP_VERSION, '5.0.0', '<')) {
echo 'J\'utilise encore PHP 4 ; ma version : ' . PHP_VERSION . "\n";
}
?>Note:
La constante
PHP_VERSIONcontient 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
alphaetbetasont 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().