Внимательно прочитайте документацию :
substr_compare()
сравнивает main_str
с позиции offset
с str
до length
символов.
Вы сравниваете до 2 символов с позиции 1 в main_str
("abcde"
), то есть "bc"
, с "bcg"
. Но только до 2 символа.
См. Также о параметре length
:
Длина сравнения. Значение по умолчанию является наибольшим из длины str
по сравнению с длиной main_str
за вычетом offset
.
Я согласен, что это может быть неправильно понято, но сравниваются только от до length
символов.