PHP的if判断,为什么要写两个条件,只写一个$str==='string'
不是也一样吗?
是出于速度的考虑吗?
代码如下,
if(isset($str) && $str==='string'){
...
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果PHP处理一个未声明的变量就会触发一个
Notice
错误,问题不大并不会终止程序的运行但,这是写一个严谨程序的坏习惯
特别是在使用FrameWork的时候,
Notice
错误会被catch
,并终止程序的运行。所以,
人们在追寻问题的答案的时候,却总是忘记追寻问题本身的意义。
$str
变量的存在,何必加一句isset($str)
?$str
变量的存在,为什么不加isset($str)
?$str 如果没 set 就会报 undifined的错误, 你用===和==又有什么区别。
我的理解是程序会先判断
如果结果是
$str
没有设置,那么就不用再继续去判断从而节省了执行的时间