`
web001
  • 浏览: 98259 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

php容易被错误使用的empty函数

    博客分类:
  • PHP
阅读更多

 

在php的官方手册中写道,

 

检查一个变量是否为空。
如果 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)) { …}
 

推荐的方法是,在项目中使用验证框架来解决这个问题。

分享到:
评论

相关推荐

    PHP5.5和之前的版本empty函数的不同之处

    比如,本地开发环境更新到PHP5.5后,代码在本地运行没有问题,但是当部署到版本低于PHP5.5的服务器上时,可能会因为empty函数使用不当而出现错误。因此,开发者在开发过程中应当注意empty函数的使用场景,特别是在...

    php函数 参考大全

    这部分包括了26个函数,如empty()用于检查变量是否为空,floatval()用于将变量转换为浮点型,get_defined_vars()返回当前作用域中的所有变量,is_array()判断变量是否为数组,is_null()判断变量是否为NULL等。...

    PHP empty函数报错解决办法

    如果尝试使用 empty() 函数来检查任何非变量(如函数返回值)的话,就会产生一个解析错误(Parse error),进而导致致命错误(Fatal error),错误信息为:"Can't use function return value in write context"。...

    非常实用的PHP函数大全

    在PHP编程语言中,函数是实现特定功能的代码块,可以重复使用,极大地提高了开发效率。"非常实用的PHP函数大全"这个资源包含了多个常用且功能丰富的PHP函数,旨在帮助开发者快速查找和理解这些函数的用途。下面将...

    php empty函数 使用说明

    当尝试直接对字符串使用 `empty`,如 `empty(" ")`,这将导致解析错误,因为解析器期望的是变量(`T_STRING` 或 `T_VARIABLE` 或 `' '`),而不是一个已经引号包围的字符串(`T_CONSTANT_ENCAPSED_STRING`)。...

    php empty 函数判断结果为空但实际值却为非空的原因解析

    这个方法会在使用 `isset()` 或 `empty()` 检查对象属性时被调用。我们可以通过以下方式实现: ```php class Person { protected $attributes = []; public function __construct(array $attributes) { $this->...

    php empty函数判断mysql表单是否为空

    方法一使用`empty()`函数: ```php $sql = "select * from abc"; $result = mysql_query($sql); $row = mysql_fetch_array($result); if(empty($row)) { echo "null"; } else { echo "notnull"; } ``` 在这段代码...

    PHP函数库查询辞典

    9. **其他常用函数**:`isset()`检查变量是否已设置并非NULL,`empty()`检查变量是否为空,`is_array()`判断是否为数组,`json_encode()`和`json_decode()`处理JSON数据。 通过《PHP函数库查询辞典》,开发者可以...

    php 常用函数 pdf版

    12. `include` 和 `require`:这两个函数用于引入其他PHP文件,`require`在找不到文件时会抛出致命错误,而`include`只会发出警告。 13. `error_reporting()` 和 `ini_set()`:`error_reporting()`用于设置错误报告...

    PHP解决324 ERR_EMPTY_RESPONSE.zip

    这些日志可以帮助你定位问题的源头,如PHP错误、Apache错误或者其他系统级别的警告。 6. **其他服务器配置**: - 文件“apache httpd 大于7M的文件无法访问 - 开源中国社区.url”暗示了问题可能与特定的服务器配置...

    php中isset与empty函数的困惑与用法分析

    本文将详细分析isset与empty函数的功能、用法、区别以及在使用时应注意的事项。 ### isset()函数 isset()函数用于检测一个变量是否已设置并且非NULL。简单来说,如果一个变量被声明了,不论是何种值(包括null),...

    Php函数速查表

    `die()`, `echo()`, `empty()`, `error_log()`, `error_reporting()`等函数用于错误处理、输出、日志记录等通用功能。 以上列举了部分PHP函数的功能和用途,PHP拥有丰富的内置函数库,涵盖了从基本的数学运算、字符...

    基于empty函数的判断详解

    在进行条件检查时,正确使用 `empty()` 可以帮助开发者避免因为误判而导致的逻辑错误。在实际编程实践中,结合 `empty()`、`isset()` 和其他相关的条件检查函数,可以更好地控制程序流程,提高代码质量。

    9个必须知道的实用PHP函数和功能

    这两个函数在条件判断中非常常用,能有效防止因未定义变量导致的错误。 5. **array_column()**: 这个函数可以从多维数组中提取一列值,返回一个新的一维数组。这对于数据处理和分析非常有用。 6. **str_replace...

    PHP常用函数

    了解并熟练使用这些PHP函数对于开发高效且可靠的PHP应用程序至关重要。无论是处理数据、计算、格式化输出还是与文件系统交互,这些函数都提供了强大的工具,可以帮助开发者简化任务,提升代码质量。通过深入学习和...

    php.ctl-Editplus的PHP函数自动完成素材库

    5. `php4func.ctl`:通用函数库,包括`isset`、`empty`、`print_r`等,这些函数在日常编程中非常常见。 6. `php4math.ctl`:数学运算相关的函数,如`pow`、`sin`、`abs`等,支持各种数值计算。 7. `...

    PHP工作中常用的函数

    在PHP编程语言中,函数是实现特定功能的代码块,可以重复使用,极大地提高了开发效率。下面我们将深入探讨一些PHP工作中常用的函数,这些函数在实际项目中有着广泛的应用。 1. **字符串处理函数**: - `strlen()`...

    PHP中isset、empty的用法与区别示例详解

    在PHP编程中,正确地处理变量的状态至关重要,特别是...正确使用这两个函数可以避免因未定义变量导致的错误,提高代码的健壮性和可读性。在编写PHP代码时,根据具体需求选择合适的判断方法,可以显著提升程序的可靠性。

Global site tag (gtag.js) - Google Analytics