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

PHP中echo与print执行顺序异常:输出结果不符预期

问题解析

首先纠正一个误解:echo print('1')的实际输出是11,不是1。因为print('1')会先输出1,然后返回整数1,echo接着输出这个返回值,所以最终是两次输出1连在一起。

回到你的代码echo 'a' . print('2') . 'c';,正确的执行流程是这样的:

  • PHP 处理字符串连接时,.是左结合的,也就是说表达式会被拆解成 ('a' . print('2')) . 'c'。
  • 计算'a' . print('2')时,必须先拿到print('2')的值:执行print('2')会立即输出2,然后返回1(print始终返回整数1)。
  • 接下来'a' . 1会自动转换成字符串'a1'(整数1被转为字符串'1')。
  • 再把'a1'和'c'连接,得到'a1c'。
  • 最后echo输出'a1c'。

所以正常情况下,最终输出应该是2a1c,和你的预期一致。

你得到2ca1的原因大概率是这两种情况之一:

  1. 你看错了输出结果,或者在终端/浏览器里的显示顺序出现了混乱;
  2. 实际运行的代码和你写的不一致(比如把'a'和'c'的位置写反了,或者多打了符号)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 00:07:06