search for in the  
<str_word_countstrchr>
Last updated: Thu, 19 May 2005

strcasecmp

(PHP 3 >= 3.0.2, PHP 4, PHP 5)

strcasecmp --  Binary safe case-insensitive string comparison

Description

int strcasecmp ( string str1, string str2 )

Returns < 0 if str1 is less than str2; > 0 if str1 is greater than str2, and 0 if they are equal.

Example 1. strcasecmp() example

<?php
$var1
= "Hello";
$var2 = "hello";
if (
strcasecmp($var1, $var2) == 0) {
   echo
'$var1 is equal to $var2 in a case-insensitive string comparison';
}
?>

See also ereg(), strcmp(), substr(), stristr(), strncasecmp(), and strstr().



User Contributed Notes
strcasecmp
no at thanks dot com
23-Apr-2005 09:40
The note from "cleong at organic dot com" is flat-out wrong.  Either he has hardware problems, or his PHP build is broken very very badly.

On our FreeBSD 4.x and 5.x systems, and on our Solaris 2.x systems (7, 8, and 9), we find the following (which is accurate):

  1 == strcmp("Z", "AAA")
  1 == strcmp("Z", "A")
  25 == strcasecmp("Z", "AAA")
  25 == strcasecmp("Z", "A")

"Z" will not come before "AAA" -- ever.
lampa at inyourpocket dot com
12-Aug-2004 12:45
strtolower, strtoupper and strcasecmp can't handle national characters (like a with acute, i with acute, ...)
27-Aug-2002 08:53
The sample above is only true on some platforms that only use a simple 'C' locale, where individual bytes are considered as complete characters that are converted to lowercase before being differentiated.

Other locales (see LC_COLLATE and LC_ALL) use the difference of collation order of characters, where characters may be groups of bytes taken from the input strings, or simply return -1, 0, or 1 as the collation order is not simply defined by comparing individual characters but by more complex rules.

Don't base your code on a specific non null value returned by strcmp() or strcasecmp(): it is not portable. Just consider the sign of the result and be sure to use the correct locale!
cleong at organic dot com
11-May-2000 10:50
Note that the behavior of strcasecmp() if different from that of strcmp().

<pre>
strcmp("Z", "AAA") = 1
strcmp("Z", "A") = 1
strcasecmp("Z", "AAA") = -2
strcasecmp("Z", "A") = 25
</pre>

<str_word_countstrchr>
 Last updated: Thu, 19 May 2005
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: The Server Pages
Last updated: Thu May 19 17:35:34 2005 CDT