介绍一些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+DBM的同学录程序(5)
Oct 09 PHP
很实用的一个完整email发送程序
Oct 09 PHP
PHP配置心得包含MYSQL5乱码解决
Nov 20 PHP
yii上传文件或图片实例
Apr 01 PHP
PHP实现文件下载断点续传详解
Oct 15 PHP
PHP中定义数组常量(array常量)的方法
Nov 17 PHP
php+xml实现在线英文词典查询的方法
Jan 23 PHP
详解PHP实现异步调用的4种方法
Mar 14 PHP
php实现水印文字和缩略图的方法示例
Dec 29 PHP
Yii2实现增删改查后留在当前页的方法详解
Jan 13 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
Jun 13 PHP
PHP观察者模式实例分析【对比JS观察者模式】
May 22 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项目的方法
2006/10/09 PHP
PHP 飞信好友免费短信API接口开源版
2010/07/22 PHP
php中获取指定IP的物理地址的代码(正则表达式)
2011/06/23 PHP
有关于PHP中常见数据类型的汇总分享
2014/01/06 PHP
合并ThinkPHP配置文件以消除代码冗余的实现方法
2014/07/22 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
PHP利用二叉堆实现TopK-算法的方法详解
2017/04/24 PHP
javascript 播放器 控制
2007/01/22 Javascript
jQuery toggle()设置CSS样式
2009/11/05 Javascript
js监听表单value的修改同步问题,跨浏览器支持
2009/12/31 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
Javascript闭包(Closure)详解
2015/05/05 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
微信小程序 loading 详解及实例代码
2016/11/09 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
node.js中事件触发器events的使用方法实例分析
2019/11/23 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
[01:09:01]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第一场 10.28
2020/10/28 DOTA
详解Python设计模式编程中观察者模式与策略模式的运用
2016/03/02 Python
Python爬虫爬验证码实现功能详解
2016/04/14 Python
Python语言进阶知识点总结
2019/05/28 Python
python使用socket 先读取长度,在读取报文内容示例
2019/09/26 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
一款纯css3实现的tab选项卡的实列教程
2014/12/11 HTML / CSS
Wallis官网:英国女装零售商
2020/01/21 全球购物
校长创先争优承诺书
2014/08/30 职场文书
学校感恩节活动策划方案
2014/10/06 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
中国十大神话动漫电影排行榜 哪吒登顶 白蛇缘起排第七
2022/03/21 国漫
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技
Mybatis 一级缓存和二级缓存原理区别
2022/09/23 Java/Android