(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
version_compare — Comparar dos strings de versión en el formato de versiones de PHP
version_compare() compara dos versiones de PHP estandarizadas.
version_compare() reemplaza inicialmente
_, - y + por un
punto (.) en los strings de versión y también inserta
puntos antes y después de cualquier carácter no numérico para que, por ejemplo,
'4.3.5RC1' se convierta en '4.3.5.RC.1'. Luego, compara los fragmentos
de izquierda a derecha. Si una parte contiene caracteres alfabéticos,
estos son gestionados en el siguiente orden:
any string not found in this list <
dev < alpha =
a < beta =
b < RC =
rc < # <
pl = p. De esta manera, es posible
comparar no solo versiones de diferentes niveles,
como '4.1' y '4.1.2', sino también versiones
de desarrollo de PHP, en cualquier etapa.
version1Primer número de versión.
version2Segundo número de versión.
operator
Un operador opcional. Los operadores posibles son:
<, lt,
<=, le, >,
gt, >=, ge,
==, =, eq,
!=, <>, ne
respectivamente.
Este parámetro es sensible a mayúsculas/minúsculas, por lo que los valores deben estar en minúsculas.
Por omisión, version_compare() devuelve
-1 si la primera versión es inferior
a la segunda, 0 si son iguales, y
1 si la segunda es inferior a la primera.
Cuando se utiliza el parámetro opcional operator,
la función devuelve true si la relación es la especificada por el operador,
false en caso contrario.
Los ejemplos siguientes utilizan la constante
PHP_VERSION, sabiendo que contiene el valor
de la versión de PHP utilizada para ejecutar el código.
Ejemplo #1 Ejemplo con version_compare()
<?php
if (version_compare(PHP_VERSION, '7.0.0') >= 0) {
echo 'Tengo al menos la versión 7.0.0 de PHP; mi versión: ' . PHP_VERSION . "\n";
}
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
echo 'Tengo al menos la versión 5.3.0 de PHP; mi versión: ' . PHP_VERSION . "\n";
}
if (version_compare(PHP_VERSION, '5.0.0', '>=')) {
echo 'Tengo al menos la versión 5.0.0 de PHP; mi versión: ' . PHP_VERSION . "\n";
}
if (version_compare(PHP_VERSION, '5.0.0', '<')) {
echo 'Aún utilizo PHP 4; mi versión: ' . PHP_VERSION . "\n";
}
?>Nota:
La constante
PHP_VERSIONcontiene la versión actual de PHP.
Nota:
Tenga en cuenta que las versiones intermedias, como
5.3.0-dev, son consideradas inferiores a sus versiones finales (como 5.3.0).
Nota:
Los strings especiales de versión como
alphaybetason sensibles a mayúsculas/minúsculas. Los strings de versión provenientes de fuentes arbitrarias que no siguen el estándar de PHP deben ser convertidos a minúsculas utilizando la función strtolower() antes de llamar a la función version_compare().