version_compare
En esta página
version_compare
Comparar dos strings de versión en el formato de versiones de PHP
Descripción#
version_compare(string $version1, string $version2, [string $operator]): int
```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.
## Parámetros
`version1`
Primer número de versión.
`version2`
Segundo 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.
## 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 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.
## Ejemplos
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 con `version_compare`
```php
Notas#
[!NOTE] La constante
PHP_VERSIONcontiene la versión actual de PHP.[!NOTE] Tenga en cuenta que las versiones intermedias, como
5.3.0-dev, son consideradas inferiores a sus versiones finales (como 5.3.0).[!NOTE] 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ónstrtolowerantes de llamar a la funciónversion_compare.
Véase también#
phpversion, php_uname, function_exists