substr_compare

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

&reftitle.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.

&reftitle.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.

&reftitle.returnvalues;

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 `length` is set and is less than 1, `substr_compare` prints a warning and returns &false;.

&reftitle.changelog;

&Version; | &Description;
5.1.0 | Added the possibility to use a negative `offset`.

&reftitle.examples;

### 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
    ?>

&reftitle.seealso;

- `strncmp`