每天一个常用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
相关推荐
-
PHP8种变量类型的详细讲解2025-02-22 00:32:24
-
php+apache 和 php+nginx的区别2025-02-22 00:21:27
-
PHP:与workerman结合实现定时任务2025-02-22 00:15:57
-
Nginx的Rewrite规则与实例2025-02-22 00:15:39
-
MySql中身份证字段的简单脱敏介绍2025-02-22 00:15:36