白驹过隙,这篇文章距今已有一年以上的历史。技术发展日新月异,文中的观点或代码很可能过时或失效,请自行甄别:)

在stack-overflow无意看到这篇文章http://stackoverflow.com/questions/8236354/php-is-null-or-empty,顺便复习下null,false,0和""(white sapce).

对于php,默认是把null,false,0,''以及刚申明未赋值的变量默认相等的.如下:

<?php
    $a=false;
    $b='';
    $c=null;
    $d=0;
    if($a==$b||$b==$c||$a==$c||$a==$d||$a==$e){
        echo 'the variables a, b, c, d and e is equal!<br/>';
    }

打印出来的结果是:

the variables a, b, c, d and e is equal!

那么如果检测它们是否是相等呢?可以用===符号来判断.当然,php默认提供了一些函数来判断一个变量到底是null等.具体如下:

is_bool()
is_numeric()
is_float()
is_int()
is_string()
is_object()
is_array()
is_integer()
is_real()

以上函数的用途从名称上就能看出来就不一一说明,具体用法都是将要检测的变量/对象等作为参数传入,会返回一个bool值,具体自行翻手册