Kodokon kodokon.com

Функции: объявить, типизировать, вернуть

Создавай свои функции с типизированными параметрами, значениями по умолчанию и возвращаемыми результатами.

8 мин · 3 вопросов

Открыть этот урок в Kodokon

Функция - это блок инструкций, которому ты даёшь имя, чтобы переиспользовать его сколько угодно раз простым вызовом. Написать один раз, использовать везде - вот принцип. Объявляется она ключевым словом function, за которым идут имя, круглые скобки и блок в фигурных скобках. Пометка : void после скобок говорит, что функция ничего не возвращает: она просто действует.

PHP
<?php

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

sayHello();
sayHello();
Одно объявление, два вызова, два сообщения.

В скобках находятся параметры: переменные, которые функция получает при каждом вызове. Конкретное значение, переданное при вызове, называется аргументом. В современном PHP ты типизируешь каждый параметр (float $price) и возвращаемое значение (: float после скобок): тогда PHP отказывается принимать значения неверного типа, что предотвращает много ошибок. Инструкция 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");
Без второго аргумента приветствие - «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") каким будет $greeting, если вызвать greet("Awa")?
    • Пустой строкой
    • null
    • Значением по умолчанию «Hello»