(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)
version_compare — Confronta due stringhe contenenti il numero di versione di "PHP-standardized"
version_compare() confronta due numeri di versione "PHP-standardized" . Questa funzione è utile quando si desideri che funzioni solo con alcune versioni di PHP.
La funzione version_compare() restituisce -1 se la prima verisone è minore della seconda, 0 se sono uguali, +1 se la sceonda è inferiore.
Per prima cosa la funzione sostituisce nella strina di versione le lettere
_
, -
e +
con un puntot .
ed inserisce un punto .
prima e dopo ogni carattere
non numerico, in modo che, ad esempio, '4.3.2RC1' diventi ''4.3.2.RC.1'. Quindi
divite il testo come se usasse explode('.', $ver). Poi confronta le parti cominciando da sinistra verso destra
Se una parte contiene versioni speciali queste sono gestite nel seguente modo:
dev
< alpha
=
a
< beta
=
b
< RC
<
pl
. In quest modo possono essere confrontati non solo
differenti livelli di versioni quali '4.1' e '4.1.2', ma anche versioni di PHP
in fase di sviluppo.
Specificando il terzo parametro opzionale operator
si possono testare particolari relazioni. I possibili operatori sono:
<
,
lt
, <=
,
le
, >
,
gt
, >=
,
ge
, ==
,
=
, eq
,
!=
, <>
,
ne
. Utilizzando questi parametri, la funzione restituirà
1 se la relazione è una di quelle specificate dall'operatore,
altrimenti 0.
Example #1 Esempio di uso di version_compare()
<?php
// prints -1
echo version_compare("4.0.4", "4.0.6");
// queste stampano 1
echo version_compare("4.0.4", "4.0.6", "<");
echo version_compare("4.0.6", "4.0.6", "eq");
?>