i assume you can also use the ! (not) operator
<?php
if (!strncasecmp($string, 'Trudeau', 4)){
print "true";
}
?>
since booleans in PHP translate 0 to FALSE and any other integer to TRUE.
!0 = !false = true
!1 = !true = false
!-1 = !true = false
strncasecmp
(PHP 4 >= 4.0.2, PHP 5)
strncasecmp — Binary safe case-insensitive string comparison of the first n characters
Opis
int strncasecmp
( string $str1
, string $str2
, int $len
)
This function is similar to strcasecmp(), with the difference that you can specify the (upper limit of the) number of characters from each string to be used in the comparison.
Parametry
- str1
-
The first string.
- str2
-
The second string.
- len
-
The length of strings to be used in the comparison.
Zwracane wartości
Returns < 0 if str1 is less than str2 ; > 0 if str1 is greater than str2 , and 0 if they are equal.
Zobacz też:
- preg_match() - Perform a regular expression match
- strcmp() - Binary safe string comparison
- strcasecmp() - Binary safe case-insensitive string comparison
- substr() - Return part of a string
- stristr() - Case-insensitive strstr
- strstr() - Find first occurrence of a string
strncasecmp
khootz
28-Nov-2006 04:23
28-Nov-2006 04:23
djdykes
31-Aug-2005 10:43
31-Aug-2005 10:43
Hi all,
be aware when comparing strings using the strcmp family. if you write code like this...
if (strncasecmp($string, 'Trudeau', 4))
print "true";
The above code returns 1 which evaluates to boolean 'true'
that statement will always be true... because these functions return 0 only when equal. so a better test would be
if ( (strncasecmp($string, 'Trudeau', 4)) == 0)
print "true";
always test these functions equality with 0
regards
