PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有:
1.(int)、(integer):转换成整形
2.(float)、(double)、(real):转换成浮点型
3.(string):转换成字符串
4.(bool)、(boolean):转换成布尔类型
5.(array):转换成数组
6.(object):转换成对象
第一种转换方式:
<?php
/**
* 第一种转换方式: (int) (bool) (float) (string) (array) (object)
*/
$num1 = 3.14;
var_dump($num1);//float 3.14
$num2 = (int)$num1;
var_dump($num2);//int 3
$num3 = (string)$num1;
var_dump($num3);//string '3.14' (length=4)
$num4 = (bool)$num1;
var_dump($num4);//boolean true
$num5 = (array)$num1;
var_dump($num5);
//array (size=1)
// 0 => float 3.14
$num6 = (object)$num1;
var_dump($num6);
//object(stdClass)[1]
// public 'scalar' => float 3.14
?>
第二种转换方式:
<?php
/**
* 第二种转换方式: intval() floatval() strval()
* 3个具体类型的转换函数,intval()、floatval()、strval()
*/
$str = "123.9abc";
$int = intval($str);
var_dump($int);//int 123
$float = floatval($str);
var_dump($float);//float 123.9
$str = strval($float);
var_dump($str); //string '123.9' (length=5)
?>
第三种转换方式:
<?php
/**
* 第三种转换方式: settype();
* 通用类型转换函数settype(mixed var,string type)
*/
$num4 = 12.8;
var_dump($num4);//float 12.8
$flg = settype($num4, "int");
var_dump($flg);//boolean true
var_dump($num4); //int 12
$flg = settype($num4, "string");
var_dump($flg);//boolean true
var_dump($num4); //string '12' (length=2)
$flg = settype($num4, "object");
var_dump($flg);//boolean true
var_dump($num4);
//object(stdClass)[1]
//public 'scalar' => string '12' (length=2)
?>