Skip to content

8.3 返回值 return

函数的返回值是函数执行后向调用者返回的结果,使用 return 语句实现。

基本语法

php
function 函数名() {
    // 函数体代码
    return 返回值;
}

示例代码

php
<?php
// 返回简单值
function add($a, $b) {
    return $a + $b;
}

$result = add(5, 3);
echo "5 + 3 = $result<br>";

// 返回布尔值
function isEven($num) {
    return $num % 2 == 0;
}

echo isEven(4) ? "4 是偶数<br>" : "4 不是偶数<br>";
echo isEven(5) ? "5 是偶数<br>" : "5 不是偶数<br>";

// 返回数组
function getStudent() {
    return [
        "name" => "张三",
        "age" => 18,
        "score" => 95
    ];
}

$student = getStudent();
echo "姓名: " . $student["name"] . ", 年龄: " . $student["age"] . ", 分数: " . $student["score"] . "<br>";

// 返回对象
class Person {
    public $name;
    public $age;
    
    public function __construct($name, $age) {
        $this->name = $name;
        $this->age = $age;
    }
}

function createPerson($name, $age) {
    return new Person($name, $age);
}

$person = createPerson("李四", 20);
echo "姓名: " . $person->name . ", 年龄: " . $person->age . "<br>";

// 提前返回
function checkAge($age) {
    if ($age < 0) {
        return "年龄不能为负数";
    }
    
    if ($age < 18) {
        return "未成年";
    }
    
    return "成年";
}

echo checkAge(-5) . "<br>";
echo checkAge(15) . "<br>";
echo checkAge(20) . "<br>";

// 无返回值(返回 null)
function sayHello() {
    echo "Hello!<br>";
    // 没有 return 语句,默认返回 null
}

$result = sayHello();
echo "sayHello() 的返回值: " . var_export($result, true) . "<br>";
?>

注意事项

  1. return 语句会立即终止函数的执行
  2. 函数可以返回任何类型的值,包括基本类型、数组、对象等
  3. 如果函数没有 return 语句,默认返回 null
  4. 一个函数可以有多个 return 语句,但只有第一个会被执行

练习

  1. 创建一个函数,返回两个数中的最大值
  2. 创建一个函数,返回一个包含10个随机数的数组
  3. 创建一个函数,根据输入的分数返回对应的等级(A、B、C、D、E)

© 2026 编程马·菜鸟教程 版权所有