该代码:为什么这个PHP字符串比较工作?
$fn0 ='Joe';
$sn = 'Bloggs';
$fn1 = 'Joseph';
if ( (!strcasecmp($fn0, $first_name))
||(!strcasecmp($fn1, $first_name))
&&(!strcasecmp($sn, $last_name))
){
echo('<h3>Hello Joe Bloggs!</h3>');
}
完美地工作。
但是为什么?
如果不是(FN 0)OR NOT(FN1)以及NOT(SN),然后打印 “你好李四”
当然,它应该显示 “Hello李四” 因为这是不李四的一切,但这不是这种情况:它将显示上述消息iff($ first_name ==“joe”||“joseph”)& & $ last_name ==“bloggs”。
任何人都可以破译?
因为[“*'strcasecmp'返回... 0,如果两个字符串相等。*”](http://us.php.net/strcasecmp) 。 '!0 == true'。 – DCoder
你的代码是'If(NOT(fn0)OR NOT(fn1))== true AND NOT(sn)== true THEN PRINT ...' – cppanda