推断变量为空,在很多场所都邑用到,同时本身和很多新手一样也经常会犯一些毛病,所以本身整理了一下PHP中一些经常运用的、推断变量为空的要领。
1. isset功用:推断变量是不是被初始化
申明:它并不会推断变量是不是为空,而且能够用来推断数组中元素是不是被定义过。
注重:当运用isset来推断数组元素是不是被初始化过期,它的效力比array_key_exists高4倍摆布。
$a = '';
$a['c'] = '';
if (!isset($a)) echo '$a 未被初始化' . "";
if (!isset($b)) echo '$b 未被初始化' . "";
if (isset($a['c'])) echo '$a 已被初始化' . "";
// 显现效果为
// $b 未被初始化
// $a 已被初始化
相干引荐:《php入门教程》
2. empty功用:检测变量是不是为“空”
申明:任何一个未初始化的变量、值为 0 或 false 或 空字符串”" 或 null的变量、空数组、没有任何属性的对象,都将推断为empty==true。
注重1:未初始化的变量也能被empty检测为“空”。
注重2:empty只能检测变量,而不能检测语句。
$a = 0;
$b = '';
$c = array();
if (empty($a)) echo '$a 为空' . "";
if (empty($b)) echo '$b 为空' . "";
if (empty($c)) echo '$c 为空' . "";
if (empty($d)) echo '$d 为空' . "";
3. var == null功用:推断变量是不是为“空”
申明:值为 0 或 false 或 空字符串”" 或 null的变量、空数组、都将推断为 null。
注重:与empty的明显差别就是:变量未初始化时 var == null 将会报错。
$a = 0;
$b = array();
if ($a == null) echo '$a 为空' . "";
if ($b == null) echo '$b 为空' . "";
if ($c == null) echo '$b 为空' . "";
// 显现效果为
// $a 为空
// $b 为空
// Undefined variable: c
4. is_null功用:检测变量是不是为“null”
申明:当变量被赋值为“null”时,检测效果为true。
注重1:null不辨别大小写:$a = null; $a = NULL 没有任何区分。
注重2:仅在变量的值为“null”时,检测效果才为true,0、空字符串、false、空数组都检测为false。
注重3:变量未初始化时,顺序将会报错。
$a = null;
$b = false;
if (is_null($a)) echo '$a 为NULL' . "";
if (is_null($b)) echo '$b 为NULL' . "";
if (is_null($c)) echo '$c 为NULL' . "";
// 显现效果为
// $a 为NULL
// Undefined variable: c
5. var === null功用:检测变量是不是为“null”,同时变量的范例也必需是“null”
申明:当变量被赋值为“null”时,同时变量的范例也是“null”时,检测效果为true。
注重1:在推断为“null”上,全即是和is_null的作用雷同。
注重2:变量未初始化时,顺序将会报错。
总结PHP中,“NULL” 和 “空” 是2个观点。
isset重要用来推断变量是不是被初始化过
empty能够将值为 “假”、“空”、“0”、“NULL”、“未初始化” 的变量都推断为TRUE
is_null仅把值为 “NULL” 的变量推断为TRUE
var == null把值为 “假”、“空”、“0”、“NULL” 的变量都推断为TRUE
var === null仅把值为 “NULL” 的变量推断为TRUE
所以我们在推断一个变量是不是真正为“NULL”时,大多运用 is_null,从而防止“false”、“0”等值的滋扰。
6. 推断猎取的POST数组是不是存在空值:
[codes]$data = $_POST;
foreach ($data as $value){
if($value == ""){
error('请完全填写表单内容');
}
}[/codes]
以上就是php怎样推断一个变量是不是为空值的细致内容,更多请关注ki4网别的相干文章!