关于php中isset的疑问isset是判断参数是否存在,只有存在并且非空的情况下才返回true;那么为什么if(isset($_POST['username'])){\x05\x05\x05$where['username']=array('like',"%$_POST[username]%");\x05\x05\x05}\x05\x05if(isse
来源:学生作业帮助网 编辑:作业帮 时间:2024/09/03 12:43:58
关于php中isset的疑问isset是判断参数是否存在,只有存在并且非空的情况下才返回true;那么为什么if(isset($_POST['username'])){\x05\x05\x05$where['username']=array('like',"%$_POST[username]%");\x05\x05\x05}\x05\x05if(isse
关于php中isset的疑问
isset是判断参数是否存在,只有存在并且非空的情况下才返回true;
那么为什么
if(isset($_POST['username'])){
\x05\x05\x05$where['username']=array('like',"%$_POST[username]%");\x05
\x05\x05}
\x05\x05if(isset($_POST['sex'])){
\x05\x05\x05$where['sex']=array('eq',$_POST['sex']);\x05
\x05\x05}
\x05\x05
这两条语句,在前台都没有设置内容的时候,能够进入第一条,不能进入第二条,关键是,当时两个$_POST都是空值呀
也不是顺序的问题
更改顺序之后 还是只能进入$_POST['username']的语句
关于php中isset的疑问isset是判断参数是否存在,只有存在并且非空的情况下才返回true;那么为什么if(isset($_POST['username'])){\x05\x05\x05$where['username']=array('like',"%$_POST[username]%");\x05\x05\x05}\x05\x05if(isse
推荐你使用var_dump,看看数组中有哪些下标:
var_dump($_POST);建议同时检查一下if条件里的值,看它是否为true
var_dump(isset($_POST['username']));有可能是这样,$_POST['username'] == '',是一个空字符串,但是isset只判断下标是否存在.建议使用empty来检查:
if (empty($_POST['username'])) {// ...
}
empty()为true的条件是,下标存在,且不为空值.
但也要注意:
$_POST['number'] = 0;var_dump($_POST['number']); // true
值为数字的情况要另行判断,以防出错.