class IcuVersion

Facilitates the comparison of ICU version strings.

Methods

static bool
compare(string $version1, string $version2, string $operator, int|null $precision = null)

Compares two ICU versions with an operator.

static string|null
normalize(string $version, int|null $precision)

Normalizes a version string to the number of components given in the parameter $precision.

Details

at line 56
static bool compare(string $version1, string $version2, string $operator, int|null $precision = null)

Compares two ICU versions with an operator.

This method is identical to {@link version_compare()}, except that you can pass the number of regarded version components in the last argument $precision.

Also, a single digit release version and a single digit major version are contracted to a two digit release version. If no major version is given, it is substituted by zero.

Examples:

IcuVersion::compare('1.2.3', '1.2.4', '==')
// => false

IcuVersion::compare('1.2.3', '1.2.4', '==', 2)
// => true

IcuVersion::compare('1.2.3', '12.3', '==')
// => true

IcuVersion::compare('1', '10', '==')
// => true

Parameters

string $version1 A version string
string $version2 A version string to compare
string $operator The comparison operator
int|null $precision The number of components to compare. Pass NULL to compare the versions unchanged.

Return Value

bool Whether the comparison succeeded

See also

normalize()

at line 90
static string|null normalize(string $version, int|null $precision)

Normalizes a version string to the number of components given in the parameter $precision.

A single digit release version and a single digit major version are contracted to a two digit release version. If no major version is given, it is substituted by zero.

Examples:

IcuVersion::normalize('1.2.3.4');
// => '12.3.4'

IcuVersion::normalize('1.2.3.4', 1);
// => '12'

IcuVersion::normalize('1.2.3.4', 2);
// => '12.3'

Parameters

string $version An ICU version string
int|null $precision The number of components to include. Pass NULL to return the version unchanged.

Return Value

string|null the normalized ICU version or NULL if it couldn't be normalized