(PHP 5, PHP 7)
substr_compare — Бинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра
$main_str
, string $str
, int $offset
[, int $length
[, bool $case_insensitivity
= FALSE
]] ) : int
substr_compare() сравнивает строку
main_str
(начиная с позиции
offset
) со строкой
str
. В сравнении участвуют максимум
length
символов.
main_str
Основная сравниваемая строка.
str
Следующая сравниваемая строка.
offset
Стартовая позиция сравнения. Если отрицательна, то обозначает смещение с конца строки.
length
Длина сравнения. По умолчанию используется максимальная из длин
str
и main_str
минус offset
.
case_insensitivity
Если case_insensitivity
имеет значение TRUE
,
сравнение выполняется без учета регистра.
Возвращает отрицательное число, если строка
main_str
(начиная с символа
offset
) меньше, чем
str
; положительное число,
если она больше str
; 0, если строки равны.
Если offset
больше (до PHP 7.2.18, 7.3.5) или равен длине
main_str
или length
передан
и меньше 0 (или, д PHP 5.5.11, меньше 1), substr_compare() выводит
предупреждение и возвращает FALSE
.
Версия | Описание |
---|---|
7.2.18, 7.3.5 |
offset теперь может быть равным main_str .
|
5.5.11 |
length теперь может быть равной 0.
|
5.1.0 |
Добавлена возможность использования отрицательных значений в offset .
|
Пример #1 Пример использования substr_compare()
<?php
echo substr_compare("abcde", "bc", 1, 2); // 0
echo substr_compare("abcde", "de", -2, 2); // 0
echo substr_compare("abcde", "bcg", 1, 2); // 0
echo substr_compare("abcde", "BC", 1, 2, true); // 0
echo substr_compare("abcde", "bc", 1, 3); // 1
echo substr_compare("abcde", "cd", 1, 2); // -1
echo substr_compare("abcde", "abc", 5, 1); // предупреждение
?>