在学习PHP的类型变换之前,阅读以下一段代码:
<?php
<?php
$a = "1"; // 字符串类型
$b = 2; // 整数类型
var_dump($a + $b); // 3
var_dump($a . $b); // 12
?>
执行上面示例代码,得到以下结果:
int(3)
string(2) "12"
在上面示例代码中,+
运算符返回两个数值的总和。点(.
)运算符连接两个字符串。因此,前面的代码将字符串和整数分配给两个变量,然后相加和连接它们。
当尝试使用+
相加它们时,PHP引擎需要两个数值,因此它尝试将字符串调整为整数。
在这种情况下,字符串表示有效数字值。这就是为什么将第一个结果被看作整数3
(1 + 2)的原因。
在最后一行中,PHP引擎执行字符串连接。有一个$b
的整数,所以PHP引擎会首先尝试将其转换为字符串 - 也就是"2"
,然后将其与另一个字符串:"1"
连接起来。所以结果是字符串:"12"
。
类型转换
PHP尝试在需要时转换变量的数据类型。PHP不会更改变量本身的值。PHP会尝试转换它的类型,但变量的值保持不变。