version_compare
Compare deux chaînes de version au format des versions PHP
&reftitle.description;
intboolversion_compare
stringversion1
stringversion2
stringnulloperator&null;
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.
&reftitle.parameters;
version1
Premier numéro de version.
version2
Second 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.
&reftitle.returnvalues;
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.
&reftitle.examples;
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 avec version_compare
= 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";
}
?>
]]>
&reftitle.notes;
La constante PHP_VERSION contient la version courante de PHP.
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).
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.
&reftitle.seealso;
phpversion
php_uname
function_exists