(PHP 4 >= 4.1.0, PHP 5, PHP 7)
version_compare — Compara dos números de versiones estandarizados de PHP
version_compare() compara dos string de números de versiones estandarizados de PHP.
Esta función, en primer lugar reemplaza los _, - y + por puntos . y las cadenas de texto de versiones y añade puntos . antes y después de cualquier código no numérico, de manera que '4.3.2RC1' sería '4.3.2.RC.1'. Después, compara cada una de las partes, de izquierda a derecha. Si alguna parte contuviera un texto especial de versión, se manejarían con el siguiente orden: cualquier texto que no se encuentre en esta lista < dev < alpha = a < beta = b < RC = rc < # < pl = p. De esta forma, no solo se pueden comparar versiones con diferentes niveles, como '4.1' y '4.1.2', sino que también se pueden comparar versiones específicas de PHP que contengan el estado de desarrollo en que se encuentran.
version1
Primer número de versión.
version2
Segundo número de versión.
operator
Si se especifica el tercer argumento opcional operator
,
se prueba para una relación en particular. Los posibles operadores
son: <, lt,
<=, le, >,
gt, >=, ge,
==, =, eq,
!=, <>, ne
respectivamente.
Este parámetro es sensible a mayúsculas, por lo que los valores debes 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.
Al usar el argumento opcional operator
, la
función de volverá TRUE
si se cumpliera la relación especificada por
el operador, o FALSE
en caso contrario.
Los siguientes ejemplos usan la constante PHP_VERSION
,
ya que esta contiene el valor de la versión de PHP con que se está ejecutando
el código.
Ejemplo #1 Ejemplos de version_compare()
<?php
if (version_compare(PHP_VERSION, '6.0.0') >= 0) {
echo 'Soy al menos la versión 6.0.0 de PHP, mi versión: ' . PHP_VERSION . "\n";
}
if (version_compare(PHP_VERSION, '5.3.0') >= 0) {
echo 'Soy 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 'Estoy usando la versión 5 de PHP, mi versión: ' . PHP_VERSION . "\n";
}
if (version_compare(PHP_VERSION, '5.0.0', '<')) {
echo 'Estoy usando la versión 4 de PHP, mi versión: ' . PHP_VERSION . "\n";
}
?>
Nota:
La constante
PHP_VERSION
almacena la versión de PHP en uso.
Nota:
Tenga presente que las versiones preeliminares, como por ejemplo 5.3.0-dev, se las considera inferiroes a la versión final (como por ejemplo 5.3.0).
Nota:
Las cadenas de versiones especiales como alpha y beta son sensibles a mayúsculas/minúsculas. Las cadenas de versiones desde fuentes arbitrarias que no se adhieren al estándar de PHP podrían necesitar ser convertidas a minúsculas mediante strtolower() antes de llamar a version_compare().