PHP 类型变换
phpserver side programmingprogramming更新于 2025/8/19 9:52:17
定义和用法
PHP 被称为动态类型语言。PHP 不需要也不支持显式声明变量的类型。与 C、C++ 和 Java 不同,PHP 变量的类型由赋值决定,而不是反过来。此外,当赋值给变量不同类型的值时,其类型也会改变。PHP 这种处理变量值动态变化的方法称为类型变换。
$var="Hello"; // 变量为字符串类型 $var=100; // 同一个变量现在变为 int 类型
类型变换也会在表达式的计算过程中发生。在此示例中,包含数字的字符串变量在执行加法表达式时会自动转换为整数。
示例
<?php $var1=100; $var2="100"; $var3=$var1+$var2; var_dump($var3); ?>
输出
将产生以下结果 −
int(200)
如果字符串以数字开头,则在执行计算时会忽略末尾的非数字字符(如果有)。但是,PHP 解析器会发出如下所示的通知。
示例
<?php $var1=100; $var2="100 days"; $var3=$var1+var2; var_dump($var3); ?>
输出
这将产生以下结果 −
PHP Notice: A non well formed numeric value encountered in ... int(200)
类型转换会强制将变量用作特定类型。以下脚本展示了不同类型转换运算符的示例
示例
<?php $var1=100; $var2=(boolean)$var1; $var3=(string)$var1; $var4=(array)$var1; $var5=(object)$var1; var_dump($var2, $var3, $var4, $var5); ?>
输出
这将产生以下结果 −
bool(true)
string(3) "100"
array(1) {
[0]=>
int(100)
}
object(stdClass)#1 (1) {
["scalar"]=>
int(100)
}
也可以通过将变量括在双引号中来将变量转换为字符串
示例
<?php $var1=100.50; $var2=(string)$var1; $var3="$var1"; var_dump($var2, $var3); ?>
输出
这将产生以下结果 −
string(5) "100.5" string(5) "100.5"

