php - 无法理解 php 回显逻辑

标签 php

这里是 PHP 新手。我无法理解这里发生了什么。

   function doEcho(){
       echo ' Done';
}

echo 'Status ='. doEcho();

上面的代码会返回

DoneStatus =

为什么“完成”先于“状态”出现?

谢谢。

最佳答案

您的函数 doEcho 实际上不返回任何内容 - 它只是直接打印。那么会发生什么:

  1. 您的线路 echo 'Status ='。 doEcho(); 调用 doEcho 函数以组合“Status ="和 doEcho 函数返回的任何内容。

  2. doEcho 函数打印“完成”,然后不返回任何内容。

  3. "Status="和nothing结合,还是"Status=",然后回显。

这就是为什么结果打印是“DoneStatus =”。如果您希望函数返回要组合的文本,则需要执行 return 'Done'; 代替。

关于php - 无法理解 php 回显逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17118482/

相关文章:

php - Laravel 验证规则 : required_without

php - 在 Android 应用程序上从 Google Cloud Storage 上传和检索图像

php - 克隆原型(prototype)对象是否比从头开始创建对象提供性能改进?

javascript - 根据页面标题过滤活跃用户 - Google Analytics

php - 发送附在电子邮件中的 CSV 文件

PHP:每次检测到逗号后在MySQL中插入数据

php - 无法使用 PHP 将 CSV 导入 MySQL

php - JSON 请求时 Laravel 5 中的简单错误响应

php - WordPress 注销用户

php - 停止运行 ajax 调用