今天在工作中看了一下同事代码,大概是这个样子:
if(($name == 'tancy' || $email == 'test@163.com') && $age == '24'){......}
写法和程序都没有问题,但是我突然勾起了我的探究心理,虽然不是特别重要的问题,但是还是研究了一下,所以来分享一下过程:
以以下代码为基础:
<?php
$name = 'tancy';
$email = 'test@163.com';
$age = '24';
if($name == 'tancy' || $email == 'test@163.com' && $age == '24'){
echo 'true';
}else{
echo 'error';
}
?>
按照上面情况页面肯定输出:true,我们都知道,在php中||的优先级比&&高,所以我们可以探索一下上面语法的执行过程:
当函数执行到if语句时,根据优先级的关系,所以会先执行$email == 'test@163.com' && $age == '24'语句,根据上面变量的赋值关