关于PHP中变量的判定
2010-06-17 11:28
155 查看
由于PHP解释性语言,所以一个变量即使没有定义也可以被使用而不会引起error。请看下面这个例子:
输出的结果是:
empty
no set
Notice: Undefined variable: test in C:/AppServ/www/test2.php on line 11
null
Notice: Undefined variable: test in C:/AppServ/www/test2.php on line 14
no defined
Notice: Undefined variable: test in C:/AppServ/www/test2.php on line 18
case 0
有其实最后一个switch判断,这是一个比较隐晦的错误,所以在使用前进行一次判断还是有意义的。同时我们可以看到有些的判断方式会引起Notice而有些不会。至于判断的解读,请参考另一篇文章:http://blog.csdn.net/autofei/archive/2010/05/24/5619004.aspx
<?php error_reporting(E_ALL); ini_set('display_errors', '1'); if(empty($test)) echo "empty<br/>"; else echo "no empty<br/>"; if(isset($test)) echo "isset<br/>"; else echo "no set<br/>"; if($test == null) echo "null<br/>"; else echo "no null<br/>"; if(defined($test)) echo "defined</br/>"; else echo "no defined<br/>"; switch ($test){ case 0: echo "case 0"; break; case 1: echo "case 1"; break; }
输出的结果是:
empty
no set
Notice: Undefined variable: test in C:/AppServ/www/test2.php on line 11
null
Notice: Undefined variable: test in C:/AppServ/www/test2.php on line 14
no defined
Notice: Undefined variable: test in C:/AppServ/www/test2.php on line 18
case 0
有其实最后一个switch判断,这是一个比较隐晦的错误,所以在使用前进行一次判断还是有意义的。同时我们可以看到有些的判断方式会引起Notice而有些不会。至于判断的解读,请参考另一篇文章:http://blog.csdn.net/autofei/archive/2010/05/24/5619004.aspx
相关文章推荐
- php 判定变量是否为数字
- PHP中关于在函数内引用全局变量的问题
- 一道关于php变量引用的面试题
- 关于PHP的static(静态)变量
- PHP关于foreach使用引用变量的坑
- 关于PHP变量定义赋值书写规格
- 一道关于php变量引用的面试题
- 关于PHP中变量未定义的提示
- PHP 的检测 函数--关于变量类型、数据存在性、可用性 的检测函数
- 关于怎么在php中定义的sql语句中使用变量
- php学习(二)关于php的成员变量和全局变量
- 关于php中foreach循环地址符及变量应注意的问题
- php关于自定义变量:$_SERVER['HTTP_X_REQUESTED_WITH']的解说!
- 浅谈PHP中关于foreach使用引用变量的坑
- php 关于变量是时间戳还是已经变成特定格式的时间的判断(舍弃strtotime false判断法 php版本会出问题)
- 关于换行符已经预定义变量PHP_EOL
- 关于PHP的strpos函数查找结果在第一个字母时的判定
- PHP关于变量$的初始值
- php--关于函数(2)变量范围
- 关于PHP服务器变量$_SERVER详解