version_compare - Сравнивает две "стандартизованные" строки с номером версии
Вернуться к: PHP опции/Информационные Функции
version_compare
(PHP 4 >= 4.1.0, PHP 5, PHP 7)
version_compare — Сравнивает две "стандартизованные" строки с номером версии
Описание
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, если указанная функция определена
Вернуться к: PHP опции/Информационные Функции