Kodokon kodokon.com

函数:声明、类型标注、return

用带类型标注的参数、默认值和返回值,创建你自己的函数。

8 分钟 · 3 题

在 Kodokon 中打开本课

函数是一段你为其取了名字的指令块,这样你就能通过简单的调用按需复用它任意多次。写一次,处处使用:这就是它的原则。你用 function 关键字声明它,后面跟上名字、圆括号和一个位于花括号中的代码块。圆括号后面的 : void 标注表示这个函数不返回任何东西:它只是执行动作。

PHP
<?php

function sayHello(): void
{
    echo "Hello and welcome!<br>";
}

sayHello();
sayHello();
一次声明,两次调用,两次输出。

圆括号里放着参数:函数在每次调用时接收的变量。调用时提供的具体值被称为实参。在现代 PHP 中,你要为每个参数(float $price)以及返回值(圆括号后面的 : float标注类型:这样一来,PHP 会拒绝类型错误的值,从而避免许多 bug。return 语句把一个结果送回调用处,并立即结束函数。

PHP
<?php

function addTax(float $price): float
{
    return $price * 1.2;
}

echo addTax(100);
echo "<br>";
echo addTax(50);
显示 120 然后 60:结果被送回给调用者。

参数可以用 = 获得一个默认值:如果调用没有为该参数提供实参,就由默认值顶上。黄金法则:带默认值的参数要放在必填参数之后

PHP
<?php

function greet(
    string $name,
    string $greeting = "Hello"
): string {
    return "{$greeting}, {$name}!";
}

echo greet("Awa");
echo "<br>";
echo greet("Awa", "Good evening");
没有第二个实参时,greeting 就是“Hello”。
PHP
<?php

function totalPrice(
    float $unitPrice,
    int $quantity = 1
): float {
    return $unitPrice * $quantity;
}

echo totalPrice(19.9, 3);
echo "<br>";
echo totalPrice(8.5);
小结:类型、默认值和 return 一网打尽。

知识检测

确认你已牢记本课的重点内容。

  1. 在 PHP 中,哪个关键字用于声明一个函数?
    • def
    • function
    • func
  2. return 语句有什么作用?
    • 它把一个值打印到屏幕上
    • 它返回一个值并结束函数
    • 它让函数从头重新开始
  3. 对于 function greet(string $name, string $greeting = "Hello"),如果你调用 greet("Awa")$greeting 是什么?
    • 一个空字符串
    • null
    • 默认值“Hello”