(1)
if($a=11){
echo '我被执行了';
}
var_dump($a);
输出的是 int(11)
(2)
if($a=0){
echo '我被执行了';
}
var_dump($a);
输出的是 int(0)
(3)
if($a=''){
echo '我被执行了';
}
var_dump($a);
输出的是 string(0) ""
(4)
if($a="sss"){
echo '我被执行了';
}
var_dump($a);
输出的是 string(3) "sss"
以上是一个变量的赋值。
下面的是两个变量的赋值
(1)
if($a=11 && $b=22){
echo '我被执行了';
}
var_dump($a);
var_dump($b);
//输出的是 bool(true),int(22);
(2)
if($a=0 && $b=22){
echo '我被执行了';
}
var_dump($a);
var_dump($b);
//输出的是 bool(false),NULL
(3)
if($a=0 || $b=22){
echo '我被执行了';
}
var_dump($a);
var_dump($b);
//输出的是 bool(true),int(22)
if($a=11 || $b=22){
echo '我被执行了';
}
var_dump($a);
var_dump($b);
//输出的是 bool(true),null
综上总结,当一个变量赋值时可以实现赋值并进入if判断。
而有两个变量时,前一个变量会强制转化成布尔型,值由if判断来决定是true or false。后一个变量的赋值要看该赋值语句能否被执行到,比如说当&&中前一句赋值返回了false或者||中前一句赋值返回了true 则不执行后一句赋值语句,这样后一个变量的值就为null。
//前一句赋值语句的结果为true or false 由等号右边的数值是否为0来决定,这也就决定了要不要执行后一句赋值语句