substr_compare

(PHP 5, PHP 7)

substr_compareБинарно-безопасное сравнение 2 строк со смещением, с учетом или без учета регистра

Описание

substr_compare ( string $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"12); // 0
echo substr_compare("abcde""de", -22); // 0
echo substr_compare("abcde""bcg"12); // 0
echo substr_compare("abcde""BC"12true); // 0
echo substr_compare("abcde""bc"13); // 1
echo substr_compare("abcde""cd"12); // -1
echo substr_compare("abcde""abc"51); // предупреждение
?>

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

  • strncmp() - Бинарно-безопасное сравнение первых n символов строк