第一种、强制转换

通过强制转换的数据,不影响数据原本的类型,仅仅将该数据临时转换了。

<?php
    echo gettype((string)500),'--',gettype(500),'<hr>';
    echo gettype(strval(500)),'--',gettype(500),'<hr>';
    echo gettype(strval(true)),'--',gettype(true),'<hr>';
?>

其结果是:

string--integer
string--integer
string--boolean

可以看到虽然我们将数据类型转换了,但是原来数据是什么类型,现在依然是什么类型,并没有因为类型转换而改变原有类型。

第二种、永久转换

<?php
  $old=500;
    echo "原类型".gettype($old),'<hr>';
    $current=gettype(settype($old,'string'));
    echo "现类型". gettype($current),'<hr>';
?>

它的结果为:

原类型integer
现类型string

通过永久转换过的数据,其数据原有类型也发生改变。

echo gettype($old);

结果为:

string

通过上述案例可以看到我们将数据转换之后,我们原有数据类型也随之发生改变。

第三种、转换函数转换

通过intval() floatval() strval()三个转换函数进行转换,可以根据需求转换成不同类型。

 <?php
    $str="123.9abc";  
    echo intval($str),'--',gettype($str),'<hr>';
    echo floatval($str),'--',gettype($str),'<hr>'; 
    echo strval($str),'--',gettype($str),'<hr>';  
?>

让我们看看他的输出结果:

123--string
123.9--string
123.9abc--string

可以看到不同的转换函数,转换成了不同的类型,同时其原有字符串类型不发生改变。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。