(PHP 4 >= 4.0.2, PHP 5)
strncasecmp — 二进制安全比较字符串开头的若干个字符(不区分大小写)
$str1
, string $str2
, int $len
)该函数与 strcasecmp() 类似,不同之处在于你可以指定两个字符串比较时使用的长度(即最大比较长度)。
str1
第一个字符串。
str2
第二个字符串。
len
最大比较长度。
如果 str1
小于 str2
,返回负数;如果 str1
大于 str2
,返回正数;二者相等则返回 0。
khootz (2006-11-27 20:23:55)
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
djdykes (2005-08-31 03:43:11)
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