PHP的if判断,为什么要写两个条件,只写一个$str==='string'不是也一样吗?
是出于速度的考虑吗?
代码如下,
<code class="lang-php"> if(isset($str) && $str==='string'){
...
}
</code>PHP的if判断,为什么要写两个条件,只写一个$str==='string'不是也一样吗?
是出于速度的考虑吗?
代码如下,
<code class="lang-php"> if(isset($str) && $str==='string'){
...
}
</code>
如果PHP处理一个未声明的变量就会触发一个Notice错误,问题不大并不会终止程序的运行
但,这是写一个严谨程序的坏习惯
特别是在使用FrameWork的时候,Notice错误会被catch,并终止程序的运行。
所以,
<code>// 判断一个变量是否存在 isset($attr) // $attr等于null或许未声明,将返回false // 判断一个变量是否有值,请使用 empty($attr) // $attr等于'0'或''或0或null,将返回true // 坏习惯 让弱类型的PHP去处理,看似很省心的却可能带来意想不到的结果 if($attr) </code>
人们在追寻问题的答案的时候,却总是忘记追寻问题本身的意义。
$str 变量的存在,何必加一句 isset($str) ?$str 变量的存在,为什么不加 isset($str) ?
$str 如果没 set 就会报 undifined的错误, 你用===和==又有什么区别。
我的理解是程序会先判断
<code class="lang-php">isset($str); </code>
如果结果是$str没有设置,那么就不用再继续去判断
立即学习“PHP免费学习笔记(深入)”;
<code class="lang-php">$str==='string'; </code>
从而节省了执行的时间
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号