Syntax
int
version_compare ( string version1, string version2 [, string operator] )
version_compare() compares two
"PHP-standardized" version number strings. This is useful if you
would like to write programs working only on some versions of
PHP.
version_compare() returns -1 if the first
version is lower than the second, 0 if they are equal, and +1 if
the second is lower.
The function first replaces _, -
and + with a dot . in the version
strings and also inserts dots . before and after any
non number so that for example '4.3.2RC1' becomes '4.3.2.RC.1'. Then it
splits the results like if you were using explode('.', $ver). Then it
compares the parts starting from left to right. If a part contains
special version strings these are handled in the following order:
dev < alpha =
a < beta =
b < RC <
pl. This way not only versions with different levels
like '4.1' and '4.1.2' can be compared but also any PHP specific version
containing development state.
If you specify the third optional operator
argument, you can test for a particular relationship. The
possible operators are: <,
lt, <=,
le, >,
gt, >=,
ge, ==,
=, eq,
!=, <>,
ne respectively. Using this argument, the
function will return 1 if the relationship is the one specified
by the operator, 0 otherwise.
Example 1. version_compare() example
<?php // prints -1 echo version_compare("4.0.4", "4.0.6");
// these all print 1 echo version_compare("4.0.4", "4.0.6", "<"); echo version_compare("4.0.6", "4.0.6", "eq"); ?>
|
|