变量是PHP的核心,我们在操作变量前,都需要先弄清该变量属于什么类型。那么在PHP中要如何检测变量类型?下面这篇文章就来给大家介绍一下PHP检测变量类型的几种函数。

PHP中提供了许多检测数据类型的函数,但大致可以分为两种:gettype()函数和is_* 类函数。下面我们通过代码示例来了解一下。

我们先来看看下面一个例子:

<?php
echo gettype(102) ."<br>";
echo gettype(true) ."<br>";
echo gettype(' ') ."<br>";
echo gettype(null) ."<br>";
echo gettype(array()) ."<br>";
echo gettype(new stdclass());
?>

看看输出结果:

1.png

gettype()函数可以获取并返回变量的类型,返回值可以为:

  • boolean

  • integer

  • double(从 PHP 4 起,如果是 float 就返回“double”,而不是“float”了)

  • string

  • array

  • object

  • resource(资源)

    resource是一种特殊的变量类型,保存了到外部资源的一个引用;它主要描述一个 PHP 的扩展资源。resource(资源)是通过专门的函数来建立和使用的。

  • NULL

    NULL 也是一种特殊的数据类型,它只有一个值,即 NULL,表示空值(即变量没有值)。

  • unknown type

gettype()函数由于包含了字符串的比较,因此运行是较慢的。除了这个函数外,我们还可以使用is_* 系列函数来检测变量的类型。

我们来看看下面一个例子:

<?php
header("Content-type:text/html;charset=utf-8");
$num1 = 123456;
$arr = array(1, 2, 3, 4, 5, 6, 7);
$bool = false;
$str1 = NULL;
$str2 = '654321';
$float = 3.1415926;
$str3 = 'hello!';
class foo {
	function dosomething() {
		echo "你好!";
	}

}

$obj = new foo();
if (is_array($arr))
	echo '$arr 是数组';
echo '<br>';
if (!is_array($num1))
	echo '$num1 不是数组';
echo '<br>';
if (is_numeric($str2))
	echo '$str2 是数字';
echo '<br>';
if (is_bool($bool))
	echo '$bool 是数字';
echo '<br>';
if (is_float($float))
	echo '$float 是浮点类型';
echo '<br>';
if (!is_float($str2))
	echo '$str2 不是浮点类型';
echo '<br>';
if (is_int($num1))
	echo '$num1 是整数类型';
echo '<br>';
if (!is_int($float))
	echo '$float 不是整数类型';
echo '<br>';
if (is_string($str2))
	echo '$str2 是字符串';
echo '<br>';
if (is_object($obj))
	echo '$obj 是一个对象';
echo '<br>';
if (!isset($str1))
	echo '$str1 未定义或则值为 NULL';
?>

看看输出结果:

2.png

is_* 系列中多个作用不同的函数,可以利用这些函数来分别检查变量的数据类型。下面我们来看看常用的几个检查函数:

1、is_int():检测变量$var是否为整数类型(integer),如果$var是则返回TRUE,否则返回 FALSE;语法“is_int($var)”,别名为is_integer()。

2、is_float():检测变量$var是否为浮点型,如果$var是则返回TRUE,否则返回 FALSE;语法“is_float($var)”,别名为is_real()。

3、is_string():检测变量$var是否为字符串型,如果$var是则返回TRUE,否则返回 FALSE;语法“is_string($var)”。

4、is_array():检测变量$var是否为数组,如果$var是则返回TRUE,否则返回 FALSE;语法“is_array($var)”。

5、is_object():检测变量$var是否是一个对象,如果$var是则返回TRUE,否则返回 FALSE;语法“is_object($var)”。

6、is_numeric():检测变量$var是否为数字或者数字字符串,如果$var是则返回TRUE,否则返回 FALSE;语法“is_numeric($var)”。

好了就说到这里了,有其他想知道的,可以点击这个哦。→ →PHP函数之array数组函数视频讲解,快来学习吧!

以上就是教你使用PHP函数来检测变量的类型的详细内容,更多请关注亿码酷站其它相关文章!


教你使用PHP函数来检测变量的类型
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除

下载声明:
  • 本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压;
  • 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。
  • 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版!
  • 版权声明:
  • 下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。
  • 免责声明:
  • 您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!