Appearance
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>";
?>注意事项
return语句会立即终止函数的执行- 函数可以返回任何类型的值,包括基本类型、数组、对象等
- 如果函数没有
return语句,默认返回null - 一个函数可以有多个
return语句,但只有第一个会被执行
练习
- 创建一个函数,返回两个数中的最大值
- 创建一个函数,返回一个包含10个随机数的数组
- 创建一个函数,根据输入的分数返回对应的等级(A、B、C、D、E)
