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

strtr
substr_count
String Functions
PHP Manual

# substr_compare

(PHP 5)

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

### Description

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

substr_compare() compares `main_str` from position `offset` with `str` up to `length` characters.

### 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` less the `offset`.

`case_insensitivity`

  If `case_insensitivity` is `TRUE`, comparison is case insensitive.

### Return Values

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 or greater than the length of `main_str`, or the `length` is set and is less than 1 (prior to PHP 5.6), substr_compare() prints a warning and returns `FALSE`.

### Changelog

Version | Description
--- | ---
5.6.0 | `length` may now be 0.
5.1.0 | Added the possibility to use a negative `offset`.

### Examples

Example #1 A substr_compare() example

`<?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); // warning
?>`

### See Also

- strncmp() - Binary safe string comparison of the first n characters

strtr
substr_count
String Functions
PHP Manual