1:运算符:&&/||运算符优先级高于ternary高于and/or/ (文末附运算符优先级表)
<?php
$a = 3 && 1;
var_dump($a);// bool(true)
$a = 3 and 1;
var_dump($a);//int(3)
?>
2:在for 循环中作为条件时:案例可以看PHP-排序-简单插入排序。
先看两个for循环:
//循环中的条件判断在条件不满足时跳出则$i=5。
for($i=0;$i<10;$i++){
if($i<5){
echo $i;//输出01234
}else{break;}
}
echo $i;//输出 5
//循环中的条件判断在条件不满足时不跳出则$i=10
for($i=0;$i<10;$i++){
if($i<5){
echo $i;//输出01234
}
}
echo $i;//输出 10
for循环体中加上&&,组成遍历条件。此处相当于if条件判断中使用else{break;}
//此处使用&&符来简化条件判断。
for($i=0;$i<10 && $i<5;$i++){
echo $i; //输出01234
}
echo $i; //输出5
要注意的是:此时两个条件必须都满足才能进入循环一个不满足则不进入循环
for($i=0;$i<10 && $i>5;$i++){//单$i从0开始时,不能同时满足$i<10且$i>5
echo $i; //此处无输出
}
echo $i; //此处无输出
//但是换成下面的条件
for($i=0;$i<10;$i++){
if($i>5){
echo $i;//输出56789
}
}
echo $i;//输出 10
PHP 运算符优先级表: