关于php中isset的疑问isset是判断参数是否存在,只有存在并且非空的情况下才返回true;那么为什么if(isset($_POST['username'])){\x05\x05\x05$where['username']=array('like',"%$_POST[username]%");\x05\x05\x05}\x05\x05if(isse
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/02 08:25:23
![关于php中isset的疑问isset是判断参数是否存在,只有存在并且非空的情况下才返回true;那么为什么if(isset($_POST['username'])){\x05\x05\x05$where['username']=array('like',](/uploads/image/z/11102920-16-0.jpg?t=%E5%85%B3%E4%BA%8Ephp%E4%B8%ADisset%E7%9A%84%E7%96%91%E9%97%AEisset%E6%98%AF%E5%88%A4%E6%96%AD%E5%8F%82%E6%95%B0%E6%98%AF%E5%90%A6%E5%AD%98%E5%9C%A8%2C%E5%8F%AA%E6%9C%89%E5%AD%98%E5%9C%A8%E5%B9%B6%E4%B8%94%E9%9D%9E%E7%A9%BA%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E6%89%8D%E8%BF%94%E5%9B%9Etrue%EF%BC%9B%E9%82%A3%E4%B9%88%E4%B8%BA%E4%BB%80%E4%B9%88if%28isset%28%24_POST%5B%27username%27%5D%29%29%7B%5Cx05%5Cx05%5Cx05%24where%5B%27username%27%5D%3Darray%28%27like%27%2C%22%25%24_POST%5Busername%5D%25%22%29%3B%5Cx05%5Cx05%5Cx05%7D%5Cx05%5Cx05if%28isse)
关于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
值为数字的情况要另行判断,以防出错.