Сравнивает две "стандартизованные" строки с номером версии


(PHP 4 >= 4.1.0, PHP 5)

version_compare Сравнивает две "стандартизованные" строки с номером версии

Описание

mixed version_compare ( string $version1 , string $version2 [, string $operator ] )

version_compare() сравнивает две "PHP-стандартизованные" строки с номерами версий.

Функция сначала заменяет _, - и + на точку . в строках версий, а также добавляет точки . перед и после каждого символа, не являющегося числом. Например, '4.3.2RC1' преобразуется в '4.3.2.RC.1'. После этого сравнивает части строк слева направо. Если часть строки содержит специальные символы версий, они обрабатываются следующим образом: any string not found in this list < dev < alpha = a < beta = b < RC = rc < # < pl = p. Таким образом можно сравнивать не только версии разных уровней, вроде '4.1' и '4.1.2', но и специфичные версии, включающие статус разработки.

Список параметров

version1

Старший номер версии.

version2

Младший номер версии.

operator

Если задан третий необязательный аргумент operator, то версии проверяются на соответствие логическому выражению. Возможные операторы: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne.

Аргумент чувствителен к регистру, поэтому значения должны быть в нижнем регистре.

Возвращаемые значения

По умолчанию, функция version_compare() возвращает -1, если первая версия меньше второй; 0, когда они равны; 1, если вторая меньше первой.

При использовании аргумента operator функция вернет TRUE, если выражение в соответствии с оператором верно, и FALSE в остальных случаях.

Примеры

В примере ниже используется константа PHP_VERSION, она содержит номер версии PHP, который выполняет код.

Пример #1 Пример использования version_compare()

<?php
if (version_compare(PHP_VERSION'6.0.0') >= 0) {
    echo 
'Я использую PHP версии не ниже 6.0.0, моя версия: ' PHP_VERSION "\n";
}

if (
version_compare(PHP_VERSION'5.3.0') >= 0) {
    echo 
'Я использую PHP версии не ниже 5.3.0, моя версия: ' PHP_VERSION "\n";
}

if (
version_compare(PHP_VERSION'5.0.0''>=')) {
    echo 
'Я использую PHP 5, моя версия: ' PHP_VERSION "\n";
}

if (
version_compare(PHP_VERSION'5.0.0''<')) {
    echo 
'Я использую PHP 4, моя версия: ' PHP_VERSION "\n";
}
?>

Примечания

Замечание:

Константа PHP_VERSION хранит номер текущей версии PHP.

Замечание:

Заметьте, что дорелизные версии, такие как 5.3.0-dev, считаются меньше, чем финальные (вида 5.3.0).

Замечание:

Специальные слова вроде alpha и beta чувствительны к регистру. Строки версий, не придерживающиеся PHP стандарта, нужно приводить к нижнему регистру функцией strtolower() до вызова version_compare().

Смотрите также

  • phpversion() - Выдает текущую версию PHP
  • php_uname() - Выдает информацию об операционной системе, на которой запущен PHP
  • function_exists() - Возвращает TRUE, если указанная функция определена