Reputation: 8879
The comparision operators < <= > >=
can be applied for strings as well. So why do we need special function for string comparision: strcmp
?
Upvotes: 9
Views: 594
Reputation: 97835
Because there are several variations:
Depending on the function, the answer to these questions vary:
strcmp
vs strcasecmp
, strnatcmp
vs strnatcasecmp
)strcoll
does)strcoll
is affected by setlocale
)Additionaly, the comparison operators also give true
or false
. strcmp
gives an integer so it can encode simultaneously whether there's identity (return 0) or, if it not, which is is bigger (depending on whether the value is positive or negative).
Upvotes: 13
Reputation: 1696
Although there are no overloads in PHP for strcmp, strcmp results in 3 different values
-1 for less than, 0 for equals and +1 for greater than the compared string. With < = <= > >=
you will have (sometimes) to do multiple checks one after another.
Upvotes: 3