在php开发中,函数的返回值是初学者必须掌握的基础概念。不少新手写了函数却拿不到预期结果,往往是因为对return语句和返回值机制理解不透彻。下面梳理几个关键细节,帮大家少走弯路。

一、return和echo不要混为一谈
很多初学者把echo当成返回,其实echo只是把内容输出到页面,函数并没有返回值。调用这样的函数得到的是null。
<?php
function sayHello() {
echo "hello"; // 这只是输出,不是返回
}
$result = sayHello(); // $result 是 null
var_dump($result);
?>
正确做法是用return把值交回去:
<?php
function sayHello() {
return "hello"; // 真正返回
}
$result = sayHello();
echo $result; // 输出 hello
?>
二、函数没有return时返回null
如果函数里根本没写return,或者执行到了return但没有带值,php都会返回null。初学者调试时经常看到NULL,就要检查是不是漏了return。
<?php
function calc() {
$a = 1 + 2;
// 没有 return
}
var_dump(calc()); // NULL
?>
三、return会立即结束函数
return语句一旦执行,函数立刻停止,后面代码不再运行。新手常误以为return只是传值,结果后面的逻辑没跑。
<?php
function test() {
return 1;
echo "这行不会执行";
}
echo test();
?>
四、多返回值可用数组
php函数只能返回一个值,但可以把多个结果装进数组返回,调用后再拆开用。
<?php
function getUser() {
$name = "张三";
$age = 20;
return array($name, $age); // 用数组返回多个值
}
list($n, $a) = getUser();
echo $n . ":" . $a;
?>
五、注意返回类型一致性
虽然php是弱类型,但同一个函数在不同分支返回不同类型容易让调用方出错。尽量保持返回类型统一,比如成功返回数组,失败也返回数组或明确的false。
| 场景 | 推荐返回 |
|---|---|
| 查询成功 | 数据数组 |
| 查询失败 | false 或空数组 |
六、引用返回少用但需懂
用&可以让函数返回变量本身的引用,修改返回值会影响原变量。初学者了解即可,日常业务少碰。
<?php
function &getRef() {
static $v = 10;
return $v;
}
$r = &getRef();
$r = 99;
echo getRef(); // 输出 99
?>
掌握这些php返回值的细节,能让初学者写出的函数更可靠,也更容易和别人协作。写函数时先想清楚到底要返回什么,再动手就不容易踩坑。