数据一共有三种转换类型,分别是强制转换,永久转换,以及转换函数转换。本篇文章通过对这三种转换方式的介绍,带大家深入了解类型转换,一起和小编学习吧。
第一种、强制转换
通过强制转换的数据,不影响数据原本的类型,仅仅将该数据临时转换了。<?php
echo gettype((string)500),'--',gettype(500),'
';
echo gettype(strval(500)),'--',gettype(500),'
';
echo gettype(strval(true)),'--',gettype(true),'
';
?>
其结果是:string--integer
string--integer
string--boolean
可以看到虽然我们将数据类型转换了,但是原来数据是什么类型,现在依然是什么类型,并没有因为类型转换而改变原有类型。
第二种、永久转换<?php
$old=500;
echo "原类型".gettype($old),'
';
$current=gettype(settype($old,'string'));
echo "现类型". gettype($current),'
';
?>
它的结果为:原类型integer
现类型string
通过永久转换过的数据,其数据原有类型也发生改变。echo gettype($old);
结果为:string
通过上述案例可以看到我们将数据转换之后,我们原有数据类型也随之发生改变。
第三种、转换函数转换
通过intval() floatval() strval()三个转换函数进行转换,可以根据需求转换成不同类型。<?php
$str="123.9abc";
echo intval($str),'--',gettype($str),'
';
echo floatval($str),'--',gettype($str),'
';
echo strval($str),'--',gettype($str),'
';
?>
让我们看看他的输出结果:123--string
123.9--string
123.9abc--string
可以看到不同的转换函数,转换成了不同的类型,同时其原有字符串类型不发生改变。