[系列文章] PHP日常注意点 - 记录2
1,逻辑运算符
and && 两边的表达式都为true,结果才为true
or || 其中一边为true,则结果就为true
xor 异或 , 两边仅一个为true,结果才为true
! 非
注意:&& || 的运算优先级是比and or 高的 ; and or 则比 赋值= 低的
$a = 3;
$b = false;
$c = $a or $b;
var_dump($c); // 这里的 $c 为 int 值3,而不是 boolean 值 true
##################################
$a = 3;
$b = false;
$d = $a || $b;
var_dump($d); //bool(true)
还有一点,&& || 有短路现象,即&&判定第一个条件是false时,后面的就不执行了;
||第一个判定为true,后面的也不执行了
2,数组运算符
$arr1 + $arr2 相当于两个数组的集合,但是得注意,是以前面数组元素为准,后面数组如果有键和前面相同的,则被覆盖;看下面例子
$x = [1,2,'xqw'];
$y = array(4,'lyl',true);
$z = array('xqw',3=>4,4=>'lyl',5=>true,'xqw2');
echo "<pre>";
print_r($x+$y);
print_r($x+$z);
print_r($x+$y+$z);
$arr1 == $arr2 , 两个数组具有相同的元素,值的数据类型不用完全一致,元素出现的顺序也可不同,则返回true
$a = [0=>1,1=>'2',2=>3];
$b = [1=>2,0=>1,2=>3];
var_dump($a==$b); //bool(true)
var_dump($a===$b); //false
$arr1 === $arr2 , 要求两个数组的元素一模一样,即值的数据类型一致,元素的顺序也得一致
!= , !== , <>
3,switch中的break
如果执行的某个case中,最后没有break,则不用判断下一个case的条件了,直接执行;
最后的default是可省的,并且default里面的break也是可省的;
4,字符串遍历
你没看错,是字符串,直接上代码
$str = 'hello php';
for ($i=0;$i<strlen($str);++$i) {
echo $str[$i],'@';
}
5,数组的遍历
索引数组可以用for循环遍历;索引,关联,多维都可以使用foreach遍历
本作品采用《CC 协议》,转载必须注明作者和本文链接