version_compare
(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
version_compare — Compara dos números de versiones estandarizados de PHP
Descripción
version_compare(
string $version1
,
string $version2
,
string $operator
= ?):
mixed
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 inferiores 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