定义PHP中不存在值的最佳方法是什么,或者不足以满足应用程序需求.
$var = NULL
,$var = array()
,$var = FALSE
?
什么是最好的测试方法?
isset($var)
,empty($var)
,if($var != NULL)
,if($var)
?
将变量初始化为它们将会是什么,例如,NULL
如果字符串,array()
如果它们将是数组,则具有一些好处,因为它们将在它们所处的设置中起作用而没有任何意外结果.
例如,foreach($emptyArray)
不会抱怨它不会输出任何东西,而foreach($false)
会抱怨错误的变量类型.
但它有点不必要的麻烦,因为有很多不同的做法基本上是相同的.例如.if(empty($var))
要么if ($var == NULL)
您命名的每个函数都用于不同的目的,应该相应地使用它们:
有用的链接是http://us2.php.net/manual/en/types.comparisons.php.
判断变量是否适合您正在编码的脚本的方法将完全取决于您的代码,因此没有单一的方法来检查它.
最后一条建议:如果您希望变量是一个数组,请不要等待它在某个地方设置.相反,事先初始化它,然后让你的代码运行,也许它会被新数组覆盖:
// Initialize the variable, so we always get an array in this variable without worrying about other code.
$var = array();
if(some_weird_condition){
$var = array(1, 2, 3);
}
// Will work every time.
foreach($var as $key => $value){
}
Run Code Online (Sandbox Code Playgroud)