您的位置:首页 > 编程语言 > PHP开发

PHP中的数据类型转换和类型检测

2016-03-21 22:49 561 查看
1. 自动转换
自动转换,又称隐式转换,很多情况下,PHP会根据上下文环境来对数据的类型自动进行转换。

2. 强制转换
强制转换,又称显示转换,在某些特殊情况下,需要我们手工地对数据进行强制类型转换。

PHP 中的类型强制转换和 C语言中的非常像,在需要转换的变量之前加上用括号括起来的目标类型。

允许的强制转换有:

(int), (integer) :转换为整型。
(bool), (boolean): 转换为布尔类型。
(float),(double),(real) :转换为浮点型。
(string):转换为字符串。
(array) :转换为数组。
(object):转换为对象。
(unset):转换为 NULL。

还可以通过一些函数,实现数据类型的强制转换:

intval($var):转换成整型,返回转换后的值。
floatval($var) 或 doubleval($var):转换成浮点型,返回转换后的值。
strval($var):转换成字符串型,返回转换后的值。
boolval($var):转换成布尔类型,返回转换后的值。

上面的强制类型转换都是临时的,如果要实现类型的永久转换,可以使用函数settype()。

bool settype( mixed &$var , string $type )
设置变量的类型,成功返回true,失败返回false。

<?php
$a = 'g2';
settype($a, 'integer');
echo $a;
?>

函数gettype()可以返回一个变量的类型。

3. 变量类型的检测

检测是否为整型:is_int() 或 is_integer() 或 is_long()
检测是否为浮点型:is_float() 或 is_double() 或 is_real()
检测是否为字符串:is_string()
检测是否为布尔类型:is_bool()
检测是否为标量类型:is_scalar()
检测是否为数组类型:is_array()
检测是否为对象类型:is_object();
检测是否为资源类型:is_resource();
检测是否为NULL:is_null()
检测是否为数值类型包含字符串型的数值:is_numeric();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: