Операторы сравнения < <= > >=
могут применяться и для строк. Итак, зачем нам нужна специальная функция для сравнения строк: strcmp
?
Потому что существует несколько вариантов:
В зависимости от функции ответ на эти вопросы различается:
strcmp
vs strcasecmp
, strnatcmp
vs strnatcasecmp
) strcoll
делает) strcoll
зависит от setlocale
) Кроме того, операторы сравнения также дают true
или false
. strcmp
дает целое число, поэтому он может кодировать одновременно, есть ли идентификатор (return 0) или, если он не является, который больше (в зависимости от того, является ли значение положительным или отрицательным).
Хотя в PHP для strcmp нет перегрузок, strcmp приводит к 3 различным значениям -1 меньше, чем 0, для равных и +1 больше, чем сравниваемая строка. При < = <= > >=
вы будете (иногда) выполнять несколько проверок один за другим.