PHP系列:浅谈PHP中isset()和empty() 函数的区别
浅谈PHP中isset()和empty() 函数的区别
浅谈PHP中isset()和empty() 函数的区别
在php
中isset()
和empty()
之间很容易混淆,它们都是用于测试变量的值,都返回一个布尔值。下面本篇文章就来带大家了解一下isset()
和empty()
,希望对大家有所帮助。
PHP isset()函数
isset()
函数是用于确定变量是否已设置且不为空;换句话说,仅当变量不为null
时才返回true
。
基本句式
bool isset( mixed var [, mixed var [, ...]] )
示例
<?php
header("content-type:text/html;charset=utf-8");
function checkIfIsset($value)
{
if(isset($value)) {
return "它被设定";
}else {
return "它没被设定";
}
}
$value = false;
echo checkIfIsset($value);
?>
输出:
PHP empty()函数
empty()
函数是用于确定变量是否为空;换句话说,如果变量是空字符串,false,array(),NULL,“0”,0和未设置的变量,它将返回true。
基本句式:
bool empty(mixed var)
示例:
<?php
header("content-type:text/html;charset=utf-8");
function checkIfnotEmpty($value){
if (!empty($value)) {
return "它不是空的";
} else {
return "它是空的";
}
}
$value = '';
echo checkIfnotEmpty($value);
?>
输出:
PHP中isset()和empty() 函数的区别
1、isset()函数中如果包含flase、0或空字符串值,则返回true;否则返回false。empty() 函数中如果包含空值、0、null或false值,则返回true;如果字符串包含非空值和非零值,则返回false。
2、如果值不存在,isset()函数会返回false,而empty() 函数会返回true。
下表是这些函数将针对不同值返回的简单参考。空格表示函数返回bool(false)。
变量的值($ var) | isset($ var) | empty($ var) |
---|---|---|
“”(空字符串) | 布尔(true) | 布尔(true) |
“ “ (空格字符) | 布尔(true) | |
false | 布尔(true) | 布尔(true) |
true | 布尔(true) | |
array()(一个空数组) | 布尔(true) | 布尔(true) |
NUll值 | 布尔(true) | |
“0”(0作为字符串) | 布尔(true) | 布尔(true) |
0(0为整数) | 布尔(true) | 布尔(true) |
0.0(0作为浮点数) | 布尔(true) | 布尔(true) |
var $ var; (声明的变量,但没有值) | 布尔(true) | |
NUll字节(“\ 0”) | 布尔(true) |