!$a和isset($a)和empty($a)的区别
ps:本人亲测,阿里云2核4G5M的服务器性价比很高,新用户一块多一天,老用户三块多一天,最高可以买三年,感兴趣的可以戳一下:阿里云折扣服务器
1、当$a没定义的时候,isset($a)不会提示Notice错误并返回0,empty($a)也不会提示notice错误并返回1,而!$a会提示notice错误。
2、当$a=null时,isset($a)会返回0,empty($a)会返回1,!$a会返回1
3、当$a=''时,isset($a)会返回1,empty($a)会返回1,!$a会返回1
4、当$a=0时,isset($a)会返回1,empty($a)会返回1,!$a会返回1
5、当$a=false时,isset($a)会返回1,empty($a)会返回1,!$a会返回1
建议:
1、使用empty($a)替换!$a判断,isset和empty接收未定义变量时,都不会提示Notice错误。
注意:
1、PHP函数isset()、empty()只能用于变量,传递任何其它参数都将造成解析错误。