
PHP函数使用return语句仅将值返回给调用处,不会自动输出到浏览器;若未用echo、print等输出语句显式打印,页面将为空白——这是新手最易忽略的核心机制问题。
php函数使用`return`语句仅将值返回给调用处,不会自动输出到浏览器;若未用`echo`、`print`等输出语句显式打印,页面将为空白——这是新手最易忽略的核心机制问题。
在PHP开发中,return与echo承担完全不同的职责:
- return 用于结束函数执行并传递结果给调用者(如赋值给变量、参与运算);
- echo / print 则是将内容直接发送至输出缓冲区,最终呈现在浏览器中。
你当前的代码中,getDate() 函数正确返回了字符串 "hi",但 index.php 中仅调用了该函数而未输出其返回值:
// ❌ 错误:调用函数但未输出返回值 → 页面无任何显示 getDate(var_export($days), var_export($Time));
因此,即使WAMP服务器正常运行、无语法错误,页面依然为空白——这不是环境或配置问题,而是逻辑疏漏。
✅ 正确做法有以下两种:
立即学习“PHP免费学习笔记(深入)”;
方案一:显式输出函数返回值(推荐)
保持函数纯净(只负责计算/返回),由调用方决定是否输出:
// index.php 中修改为: echo getDate($days, $Time); // ✅ 直接传入变量,无需 var_export
⚠️ 注意:var_export($days) 会输出类似 array (0 => 'Sat', 1 => 'Sun') 的字符串,而非数组本身;而你的函数参数 $orderDate 和 $oderTime 实际期望接收原始数据(如数组和字符串),传入 var_export() 结果会导致类型错配且语义混乱。
方案二:在函数内直接输出(适用于简单场景)
若函数唯一目的就是向页面输出内容,可改用 echo:
// functions.php 中修改为:
function getDate($orderDate, $orderTime) {
echo "hi"; // ✅ 函数内部直接输出
}此时 index.php 可直接调用,无需额外 echo:
getDate($days, $Time); // ✅ 页面将显示 "hi"
? 额外建议与最佳实践:
- 避免在函数中混合「业务逻辑」与「输出行为」,遵循单一职责原则;
- 开发阶段启用错误报告,便于及时发现潜在问题(在 index.php 顶部添加):
error_reporting(E_ALL); ini_set('display_errors', 1); - 使用现代IDE(如PhpStorm、VS Code + PHP Intelephense)可实时提示未使用的返回值,辅助排查此类问题。
掌握 return 与输出语句的本质区别,是写出可维护、可测试PHP代码的第一步。











