substr_compare

(PHP 5, PHP 7)

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

Описание

substr_compare ( string $haystack , string $needle , int $offset , int|null $length = null , bool $case_insensitive = false ) : int

substr_compare() сравнивает строку haystack (начиная с позиции offset) со строкой needle. В сравнении участвуют максимум length символов.

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

haystack

Основная сравниваемая строка.

needle

Следующая сравниваемая строка.

offset

Стартовая позиция сравнения. Если отрицательна, то обозначает смещение с конца строки.

length

Длина сравнения. По умолчанию используется максимальная из длин needle и haystack минус offset.

case_insensitivity

Если case_insensitivity имеет значение true, сравнение выполняется без учета регистра.

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

Возвращает отрицательное число, если строка haystack (начиная с символа offset) меньше, чем needle; положительное число, если она больше needle; 0, если строки равны. Если offset больше (до PHP 7.2.18, 7.3.5) или равен длине haystack или length передан и меньше 0, substr_compare() выводит предупреждение и возвращает false.

Список изменений

Версия Описание
8.0.0 length теперь допускает значение null.
7.2.18, 7.3.5 offset теперь может быть равным haystack.

Примеры

Пример #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 символов строк