Php/docs/function.substr-compare
substr_compare
(PHP 5, PHP 7)
substr_compare — Binary safe comparison of two strings from an offset, up to length characters
Description
substr_compare
( string $haystack
, string $needle
, int $offset
[, int|null $length
= NULL
[, bool $case_insensitive
= FALSE
]] ) : int
substr_compare() compares haystack
from position offset
with needle
up to length
characters.
Parameters
haystack
- The main string being compared.
needle
- The secondary string being compared.
offset
- The start position for the comparison. If negative, it starts counting from the end of the string.
length
- The length of the comparison. The default value is the largest of the length of the
needle
compared to the length ofhaystack
minus theoffset
. case_insensitive
- If
case_insensitive
isTRUE
, comparison is case insensitive.
Return Values
Returns < 0 if haystack
from position
offset
is less than needle
, >
0 if it is greater than needle
, and 0 if they are equal.
If offset
is equal to (prior to PHP 7.2.18, 7.3.5) or
greater than the length of haystack
, or the
length
is set and is less than 0,
substr_compare() prints a warning and returns
FALSE
.
Changelog
Version | Description |
---|---|
8.0.0 | length is nullable now.
|
7.2.18, 7.3.5 | offset may now be equal to the length of haystack .
|
Examples
Example #1 A substr_compare() example
<?phpecho substr_compare("abcde", "bc", 1, 2); // 0echo substr_compare("abcde", "de", -2, 2); // 0echo substr_compare("abcde", "bcg", 1, 2); // 0echo substr_compare("abcde", "BC", 1, 2, true); // 0echo substr_compare("abcde", "bc", 1, 3); // 1echo substr_compare("abcde", "cd", 1, 2); // -1echo substr_compare("abcde", "abc", 5, 1); // warning?>