在数据库设计、Api接口传参为何尽量不要用”0”

对 0 值判断

1
2
3
4
5
6
7
8
9
$a = 0;

var_dump(strlen($a)); //1

var_dump(empty($a)); // true

var_dump(isset($a)); //true

var_dump(is_null($a));//false

对 空 值判断

1
2
3
4
5
6
7
8
9
$a = '';

var_dump(strlen($cast_id)); //0

var_dump(empty($cast_id)); // true

var_dump(isset($cast_id)); //true

var_dump(is_null($cast_id));//false

场景

1、我们定义一个接口,例:审核状态: 0(代表全部)

2、前端调用该接口时省事给你设置成了空值,此时无论使用empty还是isset && 该值为真, 都会给你会给你反馈一个假值