类型转换
1 自动转换
类型 |
转换规则 |
null |
null => 0 |
boolean |
true => 1 ,false => 0 |
string |
123abc => 123 ,abc123 => 0 |
integer |
int => float |
2 强制转换
-
强制转换分为:临时转换,永久转换
-
临时转换,可使用类型提示符,或者类型函数实现
使用类型提示符:
类型 |
转换规则 |
(int) |
转为整数 |
(float) |
转为浮点数 |
(string) |
转为字符串 |
(array) |
转为数组 |
(object) |
转为对象 |
使用类型函数:
类型 |
转换规则 |
intval() |
转为整数 |
floatval() |
转为浮点数 |
strval() |
转为字符串 |
boolval() |
转为布尔 |
- 永久转换:使用函数
settype($var , $type)
示例代码
<?php
# 变量类型转换
// 自动转换
$a = null;
$b = true;
$c = false;
$d = '5g';
$e = 'php';
$f = 15;
echo $a + 10, '<br>';
echo $b + 10, '<br>';
// 字符串转数值型会有警告,但代码仍会执行, 推荐使用强制转换
echo $d + 10, '<br>';
echo $e + 10, '<br>';
// 整数15转为字符串'15'
echo $e . $f;
echo '<hr>';
// 强制转换
// 转换提示符: (int),(sgring)...
// (int)将$d强制转为整数,不再有警告信息
echo (int) $d + 10, '<br>';
// intval()转整数
echo intval($d) + 18, '<br>';
// strval($f)转字符串
echo strval($f) . ' hello', '<br>';
// 以上通过提示符和函数完成的强制转换,并不改变变量原始类型
// $f 依然是整数类型:integer
echo gettype($f), '<br>';
// settype()可将变量类型永久转换
settype($f, 'string');
// $f 永久的成为字符串类型
echo gettype($f), '<br>';
|