如果和空行为奇怪

时间:2012-09-01 12:19:41

标签: php if-statement string

写作时

$char='a' 
if (!empty($char)){
   echo 'true';
} else {
   echo 'false';
}

我明白了,但是:

if ($char='a' && !empty($char)){
   echo 'true';
} else {
   echo 'false';
}

为什么我会'假'?

3 个答案:

答案 0 :(得分:2)

因为第二种方式与:

相同
if ($char = ('a' && !empty($char))){
   echo 'true';
} else {
   echo 'false';
}

&&的优先级高于=,因此$char将为false

答案 1 :(得分:0)

因为你正在编写if($char = 'a' && !empty($char)),你正在使用赋值运算符,使用==,你应该得到正确的结果。

答案 2 :(得分:0)

由于单身有单一的等号。

if ($char='a'

确实

if ($char=='a'