You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP中强制类型转换运算符的优先级及代码执行顺序疑问

问题解答

首先明确:代码$x = (float)'100'/100;是先将字符串'100'强制转换为float类型,再执行除法运算。

原因很直接:在PHP的运算符优先级规则里,类型强制转换的优先级高于除法运算符。括号包裹的强制转换操作会被优先执行,把字符串'100'转换成浮点型的100.0之后,再和100做除法运算,最终得到结果1.0。

你可以通过实际运行代码验证:

$x = (float)'100'/100;
var_dump($x); // 输出 float(1)

如果换个例子,优先级的差异会更直观:

// 先强制转成float再除法,结果是50.25
$y = (float)'100.5'/2;
// 若先除法再转换(需加括号改变优先级),这里因PHP自动类型转换结果一致,但逻辑顺序不同
$z = (float)('100.5'/2);

本质上,强制转换属于PHP里优先级最高的操作之一,会比算术运算先被执行。

内容的提问来源于stack exchange,提问作者Toskan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 06:22:45