每天一个常用PHP函数-empty、isset

场景
这两个函数我们使用频率是很高的,通常用于判断数组的元素是否存在或者变量是否存在,但是两个函数的判断条件是有区别的,使用不当容易导致一些问题。
语法
isset ( mixed $var [, mixed $... ] ) : bool
判断var是否声明&是否不等于null,这里如果声明了并且不是null就为true, 这里0,''都算有值
empty ( mixed $var ) : bool
判断var是否是空(null)的,这里没值就是true,如 0,'','0',null,false, 0.0,[] 都是null
使用
变量是否存在
var_dump(isset($a)); //false 因为没有声明$a
var_dump(empty($a)); // true
$a = '';
var_dump(isset($a)); // true 因为已经声明并且不是null
var_dump(empty($a)); // true ''这里被处理为空
$a = null;
var_dump(isset($a)); //false 确实是null
var_dump(empty($a)); // true
数组元素是否存在
$a = ['name' => ''];
var_dump(isset($a['name'])); // true
var_dump(empty($a['name'])); // true
// 可以选择!empty来验证这样更严格
$a = ['name' => ''];
if (isset($a['name'])) {
echo 'name' . $a['name'];
} else {
echo "no";
}
if (!empty($a['name'])) {
echo 'name' . $a['name'];
} else {
echo "no";
}
// 关键一点一定不要直接去判断数组元素
// 这样极容易导致undefined错误
if ($a['name']) {
echo $a['name']
}
//
PHP Notice: Undefined variable: a in
相关推荐
-
如何高效实现elasticsearch和mysql 的数据同步
如何高效实现elasticsearch和mysql 的数据同步2025-04-29 01:57:31 -
记录日常学习——PHP之运算符2025-04-29 01:26:52
-
NGINX快速入门 Nginx性能参数调优2025-04-29 00:35:34
-
MySQL如何实现双机热备份2025-04-29 00:22:37
-
自行颁布ssh证书,实现nginx支持HTTPS2025-04-29 00:18:08