substr_compare

Binary safe comparison of two strings from an offset, up to length characters

Syntax

substr_compare ( string $main_str , string $str , int $offset [, int $length [, bool $case_insensitivity = FALSE ]] ) : int

Parameters

main_str

The main string being compared.

str

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 str compared to the length of main_str minus the offset.

case_insensitivity

If case_insensitivity is TRUE, comparison is case insensitive.

Return

Returns < 0 if main_str from position offset is less than str, > 0 if it is greater than str, 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 main_str, or the length is set and is less than 0, (or, prior to PHP 5.5.11, less than 1) substr_compare() prints a warning and returns FALSE.

Examples

1 · main_str str offset · Negative

<?

$main_str = "ABCDEabcde";
$str = "a";
$offset = -5;

$return = substr_compare($main_str, $str, $offset);

echo $return;

?>
4

2 · main_str str offset · Non-negative

<?

$main_str = "ABCDEabcde";
$str = "a";
$offset = 5;

$return = substr_compare($main_str, $str, $offset);

echo $return;

?>
4

3 · length

<?

$main_str = "ABCDEabcde";
$str = "a";
$offset = 5;
$length = 1;

$return = substr_compare($main_str, $str, $offset, $length);

echo $return;

?>
0

4 · case_insensitivity

<?

$main_str = "ABCDEabcde";
$str = "a";
$offset = 0;
$length = 1;
$case_insensitivity = true;

$return = substr_compare($main_str, $str, $offset, $length, $case_insensitivity);

echo $return;

?>
0

addcslashes

addslashes

bin2hex

chop

chr

chunk_split

convert_uudecode

convert_uuencode

count_chars

crc32

crypt

echo

explode

fprintf

get_html_translation_table

hebrev

hebrevc

hex2bin

html_entity_decode

htmlentities

htmlspecialchars

htmlspecialchars_decode

implode

join

lcfirst

levenshtein

localeconv

ltrim

md5

md5_file

metaphone

nl_langinfo

nl2br

number_format

ord

parse_str

print

printf

quoted_printable_decode

quoted_printable_encode

quotemeta

rtrim

setlocale

sha1

sha1_file

similar_text

soundex

sprintf

sscanf

str_contains

str_ends_with

str_getcsv

str_ireplace

str_pad

str_repeat

str_replace

str_rot13

str_shuffle

str_split

str_starts_with

str_word_count

strcasecmp

strchr

strcmp

strcoll

strcspn

strip_tags

stripcslashes

stripos

stripslashes

stristr

strlen

strnatcasecmp

strnatcmp

strncasecmp

strncmp

strpbrk

strpos

strrchr

strrev

strripos

strrpos

strspn

strstr

strtok

strtolower

strtoupper

strtr

substr

substr_count

substr_replace

trim

ucfirst

ucwords

vfprintf

vprintf

vsprintf

wordwrap

PHP

Home Menu