version_compare

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

version_compareCompara dos números de versiones estandarizados de PHP

Descripción

version_compare ( string $version1 , string $version2 [, string $operator ] ) : mixed

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.

Parámetros

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.

Valores devueltos

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.

Ejemplos

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";
}
?>

Notas

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().

Ver también

  • phpversion() - Obtiene la versión de PHP
  • php_uname() - Devuelve información sobre el sistema operativo en que se está ejecutando PHP
  • function_exists() - Devuelve TRUE si la función dada ha sido definida