PHP isset()vs!empty()

Tur*_*Ali 2 php isset

问题是我使用的时候

$fname = isset($_POST['fname']) ? $_POST['fname'] : 'sample';
die($fname);
Run Code Online (Sandbox Code Playgroud)

在PHP表单提交后,填写fname字段获取输出正是我填写的内容,在提交未填充的fname输入字段后,获得输出绝对没有.使用的代码!empty,而不是

$fname = !empty($_POST['fname']) ? $_POST['fname'] : 'sample';
die($fname);
Run Code Online (Sandbox Code Playgroud)

提交未填充的fname输入字段后,获取输出sample.

Com*_*eek 8

isset()只检查变量是否NULL存在,如果在数组中访问未定义的索引,则不会抛出E_NOTICE错误(与此不同is_null()).

检查变量是否包含空字符串!


AlQ*_*fir 5

那是因为'fname'变量无论如何都是发送的,它只是空的但是被发送了!

尝试将您的表单方法从POST更改为GET,您将自己看到.