介绍一些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代码
Jul 17 PHP
PHP自动生成后台导航网址的最佳方法
Aug 27 PHP
PHPThumb图片处理实例
May 03 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
在WordPress中使用wp_count_posts函数来统计文章数量
Jan 05 PHP
PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
Mar 21 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
May 11 PHP
PHP 将数组打乱 shuffle函数的用法及简单实例
Jun 17 PHP
PHP 根据key 给二维数组分组
Dec 09 PHP
php插件Xajax使用方法详解
Aug 31 PHP
laravel 数据验证规则详解
Oct 23 PHP
php设计模式之策略模式实例分析【星际争霸游戏案例】
Mar 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
php5 pdo新改动加载注意事项
2008/09/11 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
理解php原理的opcodes(操作码)
2010/10/26 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
php中实现字符串翻转的方法
2017/02/22 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
2014/04/23 Javascript
jQuery对val和atrr(&quot;value&quot;)赋值的区别介绍
2014/09/26 Javascript
Javascript学习笔记之数组的遍历和 length 属性
2014/11/23 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
浅谈Vue.js中ref ($refs)用法举例总结
2017/12/19 Javascript
JavaScript中Object值合并方法详解
2017/12/22 Javascript
nodejs搭建本地服务器轻松解决跨域问题
2018/03/21 NodeJs
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
vue.js动画中的js钩子函数的实现
2018/07/06 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
2019/10/09 Javascript
[28:42]Ti4正赛VG vs NEWBEE1
2014/07/19 DOTA
全面理解Python中self的用法
2016/06/04 Python
Python将图片批量从png格式转换至WebP格式
2020/08/22 Python
解决python读取几千万行的大表内存问题
2018/06/26 Python
Python实现的ftp服务器功能详解【附源码下载】
2019/06/26 Python
Django文件存储 自己定制存储系统解析
2019/08/02 Python
台湾演唱会订票网站:StubHub台湾
2019/06/11 全球购物
金融专业应届生求职信
2013/11/02 职场文书
环保专项行动方案
2014/05/12 职场文书
见习报告的格式
2014/10/31 职场文书
协议书范文
2015/01/27 职场文书
教师廉洁自律个人总结
2015/02/10 职场文书
学生逃课万能检讨书2000字
2015/02/17 职场文书
运动会3000米加油稿
2015/07/21 职场文书
关于开学的感想
2015/08/10 职场文书
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android