php容易被异常使用的empty函数
程序员文章站
2022-06-14 23:09:09
...
php容易被错误使用的empty函数
?
在php的官方手册中写道,
?
检查一个变量是否为空。
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。?
如果 var 是非空或非零的值,则 empty() 返回 FALSE。换句话说,""、0、"0"、NULL、FALSE、array()、var $var; 以及没有任何属性的对象都将被认为是空的,如果 var 为空,则返回 TRUE。?
?
随后在其手册中郑重说明了,
?
empty() 只检测变量,检测任何非变量的东西都将导致解析错误。换句话说,后边的语句将不会起作用: empty(addslashes($name))。
?
empty用来检测变量是否为空,这在网站编程中经常会使用到,比如,我们在前台页面提交了用户的用户名,这时,我们需要判断是否为空,如果为空的话,让他重新提交,这时我们需要用到函数trim,即过滤掉两边的空格,然后用empty检测。
?
if (empty(trim($_GET['username'])) { …}
?
但是,当我们运行这段代码的时候,却报错了。原因就在于“empty() 只检测变量”,而trim返回的确实值,不是变量。所以empty执行到这儿的时候报错了。修改方法也很简单,第一种方法:
?
if (trim($_GET['username'] == ’‘) { …}
?
第二种方法,增加中间变量:
?
$username = trim($_GET['username']); if (empty($username)) { …}?
推荐的方法是,在项目中使用验证框架来解决这个问题。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
- 最新文章
- 热门排行
推荐阅读
-
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
-
php容易被异常使用的empty函数
-
PHP使用empty检查函数返回结果时报Fatal error: Can't use function return value in write context的问题 - 心中的飞梦
-
PHP中isset与empty的使用区别详解 isempty函数 toner empty running on empty
-
小心使用PHP的empty函数
-
小心使用PHP的empty函数
-
PHP中isset与empty的使用区别详解 isempty函数 toner empty running on empty
-
php容易被异常使用的empty函数
-
php容易被异常使用的empty函数
-
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论