`

php空值__

    博客分类:
  • php
PHP 
阅读更多

在使用 php 编写页面程序时,我经常使用变量处理函数判断 php 页面尾部参数的某个变量值是否为空,开始的时候我习惯了使用 empty() 函数,却发现了一些问题,因此改用 isset() 函数,问题不再。

顾名思义,empty 判断一个变量是否为“空”,isset 判断一个变量是否已经设置。正是这种所谓的“顾名思义”,令我开始时走了些弯路:当一个变量值等于0时,empty()也会成立(True),因而会发生 一些意外。原来,empty 和 isset 虽然都是变量处理函数,它们都用来判断变量是否已经配置,它们却是有一定的区别:empty还会检测变量是否为空、为零。当一个变量值为0,empty 认为这个变量同等于空,即相当于没有设置。

比如检测 $id 变量,当 $id=0 时,用empty 和 isset 来检测变量 $id 是否已经配置,两都将返回不同的值—— empty 认为没有配置,isset 能够取得 $id 的值:

    $id=0;
    empty($id)?print "It's empty .":print "It's $id .";
      //结果:It's empty .
    print "<br>";
    !isset($id)?print "It's empty .":print "It's $id .";
      //结果:It's 0 .

这意味着,我们在使用变量处理函数时,当该变量可能出现0的值,使用 empty 要小心,这个时候用 isset 取代它更明智一些。

当一个php页面的 URL 尾部参数出现 时(比如:test.php?id=0),试比较:

    if(empty($id)) $id=1; - 若 ,id 也会为1
    if(!isset($id)) $id=1; - 若 ,id 不会为1

可分开运行以下代码检测上述推断:

    if(empty($id)) $id=1;
    print $id; // 得到 1

    if(!isset($id)) $id=1;
    print $id; //得到 0

分享到:
评论

相关推荐

    php5.rar_PHP 教程_manuel php5 .chm_php5_php5 chm

    PHP5增加了新的数据类型,如boolean(布尔型)、NULL(空值)和resource(资源)。同时,对数组的处理也进行了优化,支持关联数组和索引数组,以及数组作为函数参数和返回值的能力。 **3. 对象和类** 在PHP5中,类...

    php数组去除空值函数分享

    在PHP编程中,处理数组去空值的操作是比较常见的一种需求。本文将介绍一种PHP函数的制作方法,通过该函数能够有效地清除数组中的空值元素,提高代码的简洁性和执行效率。 首先,需要明确什么是数组中的“空值”。在...

    php不允许用户提交空表单(php空值判断)

    标题中的"php不允许用户提交空表单(php空值判断)"是指在PHP中,我们需要对用户提交的表单数据进行检查,防止空值被提交到数据库。例如,在一个评论系统中,如果允许用户不填写姓名和评论就提交,那么这样的数据对于...

    1_PHP_Scripting_Basics_php_

    - NULL(特殊的空值类型) ### 函数 函数是可重用的代码块,PHP内建了大量的内置函数,同时允许用户自定义函数。例如,`strlen()` 计算字符串长度,`str_replace()` 替换字符串中的部分文本。 ### 错误与异常处理 ...

    php_extension_writing

    - `IS_NULL`表示空值。 - `IS_LONG`表示长整型。 - `IS_DOUBLE`表示双精度浮点型。 - `IS_BOOL`表示布尔型。 - `IS_ARRAY`表示数组。 - `IS_OBJECT`表示对象。 - `IS_STRING`表示字符串。 - `IS_RESOURCE`...

    php__表单处理

    请注意,如果表单字段没有值,尝试访问`$_POST`数组元素会得到`NULL`,所以最好进行空值检查: ```php if (isset($_POST['username']) && isset($_POST['password'])) { $username = $_POST['username']; $...

    PHP删除数组中空值的方法介绍

    在进行PHP编程的过程中,经常需要对数组进行处理和筛选,其中包括删除数组中的空值。空值通常指的是null、空字符串、0、false以及数组中的空元素等。正确的方法可以提高代码的效率和性能。 传统的做法是使用foreach...

    PHP_ODBC+GBase8S查询大于255字节lvarchar字段的方法.docx

    在本案例中,问题主要集中在查询包含超过255字节的lvarchar字段时返回空值。 GBase8S是由南大通用数据技术有限公司开发的一款高性能、高可用性的关系型数据库管理系统,特别适合大数据量的处理。在创建一个名为t1的...

    php编程范例.rar_php登录页面_php编程

    在PHP编程领域,创建一个用户登录页面是构建Web应用程序的基础步骤。这个"php编程范例.rar"文件包含了一个实现此功能的示例,主要关注PHP登录页面的开发和交互过程。下面将详细介绍这个主题,包括PHP语言基础、登录...

    PHP json_encode与json_decode.rar

    1. JSON不支持PHP的特殊类型如资源、对象(非面向对象的)、NULL之外的空值等,因此在编码时需要注意这些类型的处理。 2. 当PHP变量包含非UTF-8字符时,`json_encode`可能会抛出错误。使用`json_encode`时,确保数据...

    巧用php中的array_filter()函数去掉多维空值的代码分享

    在PHP编程中,处理数组数据时经常会遇到需要清除数组中的空值情况,尤其是多维数组。我们经常会遇到需要判断数组中元素是否为空的情况,常见的做法可能是使用empty函数来判断,但是empty函数对于多维数组的处理是有...

    php_apache_mysql_选择填空题.docx

    空 2281,因为PHP会自动插入空值直到找到定义的下标。 4. 执行`demo(&$num)`后,变量`$num`的值是 C. 30,由于传递了引用,`$num`的值被函数内部修改。 5. `echo $a[bar]; echo $a['bar'];`的输出是 D. ...

    PHP空值检测函数与方法汇总

    以下是几种常用的PHP空值检测函数和方法: 1. **isset()**: `isset()` 函数用于检测变量是否已定义并且非NULL。它不检查变量的值,只关注变量是否存在。例如,`isset($a)` 将返回 `true` 如果 `$a` 已经定义并有...

    PHP 7.2版本包,格式为.tar.gz

    以及非null联合类型,允许指定变量或函数参数必须为非空值。 3. 异常处理:在PHP 7.2中,错误处理已经从传统的错误报告转换为异常抛出。这意味着开发者可以更统一地处理运行时问题,通过try-catch块捕获和处理错误...

Global site tag (gtag.js) - Google Analytics