php编程基础之isset与empty

发布时间:2020-04-19编辑:脚本学堂
本文介绍下,php编程基础中最常用的二个函数isset与empty,举几个例子,供大家学习参考。

在基础php编程中,最常用的两个函数,isset函与empty函数,实例如下:

<?php
/**
* empty函数与isset函数用例
* edit www.jb200.com
*/
    $arr[] = '';
    $arr[] = 0;
    $arr[] = NULL;
    $arr[] = null;
    $arr[] = '0';
    $arr[] = ' ';

    echo "issettemptyn";
    echo "-------------------------------n";
    foreach ($arr as $key => $val)
    {
        echo isset($val) ? 'true': 'false';
        echo "t";
        echo empty($val) ? 'true': 'false';
        echo "n";
    }
?>

输出结果:
    isset   empty
    -------------------------------
    true    true
    true    true
    false   true
    false   true
    true    true
    true    false
有时在表单输入时,尤其是在做配置时,当填入0时,代表的是值是0,但不填值表示的可能是该值未定义。
此种情况可以用以下函数作判断:

<?php
    /**
     * 判断值是否为空
     *
     * 在php中,0,null,array()和''用empty函数判断时都会返回true, 但实际上很多情况下0是不应当被认为是空
     * 的。比如在设置参数值时,0可能表示值真的是0,而空字符串则可能表示该值未设置
     *
     * @site www.jb200.com
     * @param mixed $value 变量值
     * @param boolean $is_trim 是否要去掉前后空格
     * @return boolean
     */
    function isEmpty($value, $is_trim = false)
    {
        return $value === null || $value === array() || $value === '' || ($is_trim && is_scalar($value) && trim($value) === '');
    }

    echo isEmpty(0) ? '1':'0';
    echo isEmpty('0') ? '1':'0';
?>

输出结果:
    00
可以看到输入0已不再被认为是空了,不论其是字符还是数字。

怎么样,有了以上的二个例子,对于php函数isset与empty函数的更爱,是不是又深了一层呢?!