(PHP 4 >= 4.1.0, PHP 5)
version_compare — Confronta due stringhe contenenti il numero di versione di "PHP-standardized"
$version1
, string $version2
[, string $
operator
] )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");
?>