Funciones de Opciones/Info de PHP
PHP Manual

version_compare

(PHP 4 >= 4.1.0, PHP 5)

version_compareCompara dos números de versiones estandarizados de PHP

Descripción

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

version_compare() compara dos números de versiones estandarizados de PHP. Puede ser de utilidad en caso de escribir programas que tan solo funcionen en determinadas versiones 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, trocea el resultado tal como haría la función explode('.', $ver). Posteriormente 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 especificara el argumento opcional operator, se podrían comprobar determinadas realciones. Los operadores posibles son: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne respectivamente.

Este parámetro es sensible a mayúsculas, por lo que debe introducirse 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


Funciones de Opciones/Info de PHP
PHP Manual