[系列文章] 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 协议》,转载必须注明作者和本文链接
六月的风
Junwind
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!