介绍一些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实现与ASP Banner组件相似的类
Oct 09 PHP
ZF等常用php框架中存在的问题
Jan 10 PHP
php discuz 主题表和回帖表的设计
Mar 13 PHP
php注销代码(session注销)
May 31 PHP
php通过前序遍历树实现无需递归的无限极分类
Jul 10 PHP
PHP中调用C/C++制作的动态链接库的教程
Mar 10 PHP
Yii统计不同类型邮箱数量的方法
Oct 18 PHP
详解Yii实现分页的两种方法
Jan 14 PHP
浅谈PHP中的面向对象OOP中的魔术方法
Jun 12 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
Feb 07 PHP
PHP等比例压缩图片的实例代码
Jul 26 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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数组函数
2008/08/18 PHP
joomla jce editor 解决上传中文名文件失败问题
2013/06/09 PHP
PHP设计模式之调解者模式的深入解析
2013/06/13 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
深入理解Yii2.0乐观锁与悲观锁的原理与使用
2017/07/26 PHP
Dom在ajax技术中的作用说明
2010/10/25 Javascript
Javascript Web Slider 焦点图示例源码
2013/10/10 Javascript
JavaScript用Number方法实现string转int
2014/05/13 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
2014/09/01 Javascript
使用phantomjs进行网页抓取的实现代码
2014/09/29 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
JavaScript ParseFloat()方法
2015/12/18 Javascript
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
基于JS+Canves实现点击按钮水波纹效果
2016/09/15 Javascript
bootstrapfileinput实现文件自动上传
2016/11/08 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
2017/04/21 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
微信小程序顶部可滚动导航效果
2017/10/31 Javascript
vue+axios实现文件下载及vue中使用axios的实例
2018/09/21 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
Promise扫盲贴
2019/06/24 Javascript
ant-design-vue 快速避坑指南(推荐)
2020/01/21 Javascript
[02:51]DOTA2英雄基础教程 风暴之灵
2013/12/23 DOTA
[03:41]2018完美盛典-《Fight With Us》
2018/12/16 DOTA
pandas对指定列进行填充的方法
2018/04/11 Python
在windows下Python打印彩色字体的方法
2018/05/15 Python
分析经典Python开发工程师面试题
2019/04/08 Python
jupyter lab文件导出/下载方式
2020/04/22 Python
如何利用python之wxpy模块玩转微信
2020/08/17 Python
护理自荐信
2013/10/22 职场文书
联欢晚会主持词
2014/03/25 职场文书
vue-router中hash模式与history模式的区别
2021/06/23 Vue.js
用Python编写简单的gRPC服务的详细过程
2021/07/04 Python
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL