介绍一些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中的 == 运算符进行字符串比较
Nov 26 PHP
PHP 遍历文件实现代码
May 04 PHP
PHP使用正则表达式清除超链接文本
Nov 12 PHP
3个PHP多维数组转为一维数组的方法实例
Mar 13 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
php文件下载处理方法分析
Apr 22 PHP
PHP使用逆波兰式计算工资的方法
Jul 29 PHP
Joomla语言翻译类Jtext用法分析
May 05 PHP
php实现跨域提交form表单的方法【2种方法】
Oct 17 PHP
php ajax confirm 删除实例详解
Mar 06 PHP
PHP7 mongoDB扩展使用的方法分享
May 02 PHP
如何在PHP中使用AES加密算法加密数据
Jun 24 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
虫族 ZERG 概述
2020/03/14 星际争霸
使用array mutisort 实现按某字段对数据排序
2013/06/18 PHP
PHP Class&amp;Object -- PHP 自排序二叉树的深入解析
2013/06/25 PHP
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
php中$美元符号与Zen Coding冲突问题解决方法分享
2014/05/28 PHP
php计划任务之ignore_user_abort函数实现方法
2015/01/08 PHP
PHP图像裁剪缩略裁切类源码及使用方法
2016/01/07 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
2017/02/04 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
2017/02/18 PHP
php实现的二分查找算法示例
2017/06/20 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
学习ExtJS(一) 之基础前提
2009/10/07 Javascript
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
zShowBox 图片放大展示jquery版 兼容性
2011/09/24 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
js带按钮的提示框可供选择示例代码
2013/09/17 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
JS简单循环遍历json数组的方法
2016/04/22 Javascript
jQuery实现手机自定义弹出输入框
2016/06/13 Javascript
js中class的点击事件没有效果的解决方法
2016/10/13 Javascript
easyui-combobox 实现简单的自动补全功能示例
2016/11/08 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
JS中的作用域链
2017/03/01 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
2019/10/21 Javascript
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
python中获得当前目录和上级目录的实现方法
2017/10/12 Python
python hook监听事件详解
2018/10/25 Python
如何使用Python标准库进行性能测试
2019/06/25 Python
django自带调试服务器的使用详解
2019/08/29 Python
django中瀑布流写法实例代码
2019/10/14 Python
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
小学科学教学反思
2014/01/26 职场文书
运动会稿件300字
2014/02/14 职场文书
2015年高三年级组工作总结
2015/07/21 职场文书
用python画城市轮播地图
2021/05/28 Python