介绍一些PHP判断变量的函数


Posted in PHP onApril 24, 2012

虽然这一特点使用PHP编程非常容易,但它也存在一个重要的缺陷:当你需要测试一个变量的类型时,处理类型比较松散的语言就让人有些迷惑。幸运地是,PHP的开发者注意到这一情况,因此在其中包含了一个函数工具包,特别用它来测试变量并查明它们属于哪个特定的字符类别——也就是说,它们是否包含字符串、整数、对象或布尔值。

下面列出了这一类别中较为有用的函数,并提供说明与应用实例。

empty($var)
这个函数用来检查变量是否为空(没有值或零值)。用此函数来检查用户输入,例如,表格变量。保证它们包含有效数据。

<?php 
// returns false 
$var = "hello"; 
echo empty($var) ? "true" : "false"; 
// returns true 
$var = 0000; 
echo empty ($var) ? "true" : "false"; 
?>

gettype($var)
这个函数返回变量的类型。例如,"字符串"、"整数"、"布尔值"、"浮点值"等。在把变量插入严格类型的数据库域前,一般用此函数来验证变量是否为你期待的类型。
<?php 
// returns string 
$var = "hello"; 
echo gettype($var); 
//returns double 
$var = 1000.56; 
echo gettype($var); 
?>

is_bool($var)
这个函数测试一个变量看它是否包含一个布尔值(真/假)。用此函数检查变量是否为布尔变量。
<?php 
// returns true 
$var = false; 
echo is_bool($var) ? "true" : "false"; 
?>

is_string($var)
这个函数测试一个变量是否为字符串变量。用此函数检查一个变量是否包含字符串数据。
<?php 
// returns true 
$var = "exception"; 
echo is_string($var) ? "true" : "false"; 
// returns true 
$var = "88408"; 
echo is_string($var) ? "true" : "false"; 
?>

is_numeric($var)
这个函数测试一个变量看它是否包含一个数字或数字字符串(字符串包括一个符号、数字与小数点)。在将变量用于计算前,用此函数来验证它是否包含一个数字。
<?php 
// returns true 
$var = "+99.766"; 
echo is_numeric($var) ? "true" : "false"; 
// returns false 
$var = "b00"; 
echo is_numeric($var) ? "true" : "false"; 
?>

is_array($var)
这个函数测试一个变量看它是一个PHP相关或是数字顺序索引数组。在循环中进行处理前,用此函数来检查变量是否为一个数组。
<?php 
// returns true 
$var = array("tiger", "lion", "zebra"); 
echo is_array($var) ? "true" : "false"; 
// returns false 
$var = "zebra"; 
echo is_array($var) ? "true" : "false"; 
?>

is_null($var)
这个函数测试一个变量看它是否为NULL。在评估由SQL查询返回的数据时,用此函数来检查一个变量是否为NULL。
<?php 
// returns false 
$var = "aa"; 
echo is_null($var) ? "true" : "false"; 
// returns true 
$var = null; 
echo is_null($var) ? "true" : "false"; 
?>

is_object($var)
这个函数测试一个变量看它是否为一个PHP对象。在调用一个方法或访问属性前,一般用此函数来测试变量是否为PHP对象。
<?php 
// returns false 
$var = "exception"; 
echo is_object($var) ? "true" : "false"; 
// returns true 
$var = new Exception; 
echo is_object($var) ? "true" : "false"; 
?>

isset($var)
这个函数测试一个变量看它是否已被定义。在评估表格提交的结果时,一般用此函数来测试一个变量是否被定义。
<?php 
// returns true 
$var = "yes"; 
echo isset($var) ? "true" : "false"; 
// returns false 
echo isset($test) ? "true" : "false"; 
?>

print_r($var)
这个函数打印一个变量的内容。用此函数来"窥探"一个变量,特别是在调试一个脚本时。
<?php 
$var = array("one", "two", array("red", "green"), new Exception, 467); 
print_r($var); 
?>
PHP 相关文章推荐
PHP+FLASH实现上传文件进度条相关文件 下载
Jul 21 PHP
兼容PHP5的PHP目录管理函数库
Jul 10 PHP
php $_ENV为空的原因分析
Jun 01 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
Jun 23 PHP
解析php开发中的中文编码问题
Aug 08 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
php实现把url转换迅雷thunder资源下载地址的方法
Nov 07 PHP
WordPress中对访客评论功能的一些优化方法
Nov 24 PHP
PHP MVC框架路由学习笔记
Mar 02 PHP
PHP指定截取字符串中的中英文或数字字符的实例分享
Mar 18 PHP
CI配置多数据库访问的方法
Mar 28 PHP
CodeIgniter常用知识点小结
May 26 PHP
PHP的几个常用数字判断函数代码
Apr 24 #PHP
php中邮箱地址正则表达式实现与详解
Apr 24 #PHP
PHPMYADMIN导入数据最大为2M的解决方法
Apr 23 #PHP
php 多关键字 高亮显示实现代码
Apr 23 #PHP
php入门之连接mysql数据库的一个类
Apr 21 #PHP
洪恩在线成语词典小偷程序php版
Apr 20 #PHP
php 文件上传实例代码
Apr 19 #PHP
You might like
php自动加载的两种实现方法
2010/06/21 PHP
允许phpmyadmin空密码登录的配置方法
2011/05/29 PHP
mac下多个php版本快速切换的方法
2016/10/09 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
Javascript 面向对象特性
2009/12/28 Javascript
关于JS判断图片是否加载完成且获取图片宽度的方法
2013/04/09 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
JavaScript中this的使用详解
2013/11/08 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
jquery 根据name名获取元素的value值
2015/02/27 Javascript
javascript实现仿百度图片的瀑布流加载效果
2016/04/20 Javascript
Bootstrap每天必学之折叠(Collapse)插件
2016/04/25 Javascript
基于Jquery插件Uploadify实现实时显示进度条上传图片
2020/03/26 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
AngularJS  $modal弹出框实例代码
2016/08/24 Javascript
laydate时间日历插件使用方法详解
2018/11/14 Javascript
详解如何更好的使用module vuex
2019/03/27 Javascript
axios实现文件上传并获取进度
2020/03/25 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
2019/11/01 Javascript
使用Promise封装小程序wx.request的实现方法
2019/11/13 Javascript
Python编程中的反模式实例分析
2014/12/08 Python
python实现超简单端口转发的方法
2015/03/13 Python
python 的列表遍历删除实现代码
2020/04/12 Python
python爬虫使用cookie登录详解
2017/12/27 Python
python中abs&amp;map&amp;reduce简介
2018/02/20 Python
Python中pillow知识点学习
2018/04/30 Python
python3安装speech语音模块的方法
2018/12/24 Python
详解Python logging调用Logger.info方法的处理过程
2019/02/12 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
pycharm实现print输出保存到txt文件
2020/06/01 Python
keras实现VGG16方式(预测一张图片)
2020/07/07 Python
巴黎一票通:The Paris Pass
2018/02/10 全球购物
数据管理员的自我评价分享
2013/11/15 职场文书
毕业生学校组织意见
2015/06/04 职场文书
css中:last-child不生效的解决方法
2022/08/05 HTML / CSS