$a; $b = false; $c = ''; $d = 0; $e = null; $f = []; var_dump(empty($a)); var_dump(empty($b)); var_dump(empty($c)); var_dump(empty($d)); var_dump(empty($e)); var_dump(empty($f)); //bool(true) bool(true) bool(true) bool(true) bool(true) bool(true) //从代码中可以看出,只要数据类型是否为空或假,empty()就输出true echo '<hr color=red>'; var_dump(isset($a)); var_dump(isset($b)); var_dump(isset($c)); var_dump(isset($d)); var_dump(isset($e)); var_dump(isset($f)); //bool(false) bool(true) bool(true) bool(true) bool(false) bool(true) //从代码中可以看出,只能用来判断是否为null和未定义 echo '<hr color=blue>'; @var_dump(is_null($a)); var_dump(is_null($b)); var_dump(is_null($c)); var_dump(is_null($d)); var_dump(is_null($e)); var_dump(is_null($f)); //bool(true) bool(false) bool(false) bool(false) bool(true) bool(false) /** * is_null 字面意思了。 * 由此可见 empty() 可以用来判定所有的数据类型是否为空或假,而 is_null 与 isset 基本一样,只能用来判断是否为NULL和未定义。 */ $userName = 'Jack'; function best(){ global $userName;//$GLOBALS['userName']引用全局变量,使用全局变量数组,不必声明引入 $site = 'php中文网';//局部变量 echo $userName.'在'.$site.'学习PHP技术开发。'; } best(); /**静态属性只能被初始化为一个字符值或一个常量,不能使用表达式。 即使局部静态变量定义时没有赋初值,系统会自动赋初值0(对数值型变量)或空字符(对字符变量);静态变量的初始值为0。*/ function test(){ global $var; $var++; echo $var; } test();//1 test();//2 test();//3