网络营销电子商务研究中心

网络营销电子商务研究中心 (https://www.0058.net/index.php)
-   PHP (https://www.0058.net/forumdisplay.php?f=75)
-   -   PHP的if判断,为什么要写两个条件 (https://www.0058.net/showthread.php?t=5433)

Paradise Valley 2016-02-28 10:16 PM

PHP的if判断,为什么要写两个条件
 
PHP的if判断,为什么要写两个条件,只写一个$str==='string'不是也一样吗?
是出于速度的考虑吗?
代码如下,

Code:

if(isset($str) && $str==='string'){
        ...
    }


Parker Crossroads 2016-02-28 10:21 PM

如果PHP处理一个未声明的变量就会触发一个Notice错误,问题不大并不会终止程序的运行
但,这是写一个严谨程序的坏习惯
特别是在使用FrameWork的时候,Notice错误会被catch,并终止程序的运行。

所以,
Code:


// 判断一个变量是否存在
isset($attr)    // $attr等于null或许未声明,将返回false

// 判断一个变量是否有值,请使用
empty($attr)    // $attr等于'0'或''或0或null,将返回true

// 坏习惯 让弱类型的PHP去处理,看似很省心的却可能带来意想不到的结果
if($attr)


Parrott 2016-02-28 10:21 PM

人们在追寻问题的答案的时候,却总是忘记追寻问题本身的意义。
•如果前面的代码已经明确 $str 变量的存在,何必加一句 isset($str) ?
•如果前面的代码不能表明 $str 变量的存在,为什么不加 isset($str) ?


All times are GMT +8. The time now is 12:34 PM.

Powered by vBulletin Version 3.8.7
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.