(PHP 4 >= 4.0.7, PHP 5)
version_compare — Compare deux chaînes de versions au format des versions PHP
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.
Premier numéro de version.
Second numéro de version.
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.
Ce paramètre est sensible à la casse, aussi les valeurs doivent être en minuscule.
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 PHP utilisée pour exécuter le code.
Exemple #1 Exemple avec version_compare()
<?php
if (version_compare(PHP_VERSION, '6.0.0') === 1) {
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') === 1) {
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";
}
?>
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).