Параметры функций

Тренажер по PHP для пользователей с начальным уровнем подготовки.

Тренажер PHP

В этом уроке мы сделаем наши функции по-настоящему гибкими и мощными с помощью параметров. Параметры — это как входные двери для ваших функций, через которые вы передаете данные для обработки. Мы начнем с основ: научимся создавать функции, принимающие один или несколько параметров. Затем перейдем к более продвинутым темам: разберемся, как задавать значения по умолчанию, чтобы делать некоторые параметры необязательными. Также мы познакомимся с типизацией параметров, которая помогает писать более надежный и предсказуемый код, и рассмотрим передачу данных по ссылке. Этот набор навыков позволит вам создавать универсальные и многоразовые блоки кода.

Список тем

Функция с одним параметром

id: 38985_task_replace_1

Создайте простую функцию `greet`, которая принимает один параметр (имя пользователя) и выводит персональное приветствие. Вам нужно правильно объявить параметр и использовать его внутри функции.

Заполните пропуски
<?php
function greet(input1S) {
    echo "Hello, " . input2S . "!";
}

// Вызываем функцию, передавая ей имя "Alice"
greet("Alice");
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Ошибка в списке параметров

id: 38985_task_error_1

Эта функция предназначена для вычисления площади прямоугольника, принимая на вход ширину и высоту. Однако в объявлении функции допущена синтаксическая ошибка. Исправьте строку с объявлением функции.

Найдите ошибку и исправьте
<?php
function calculateArea($width $height) {
    return $width * $height;
}
 
echo calculateArea(10, 5);
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Какой будет результат вычисления?

id: 38985_task_predict_1

Проанализируйте функцию `formatPrice`, которая добавляет к числу символ валюты. Затем посмотрите, с какими аргументами она вызывается, и выберите правильный результат, который будет выведен на экран.

Выберите правильный вариант ответа
<?php
function formatPrice($price, $currencySymbol) {
    return $price . $currencySymbol;
}

echo formatPrice(1500, '$');
?>
Сообщения
Проверить
Показать подсказку

Параметры со значением по умолчанию

id: 38985_task_bank_1

Создайте функцию `sendMessage`, которая принимает сообщение и имя отправителя. Параметр "отправитель" (`$sender`) должен быть необязательным и по умолчанию иметь значение 'Admin'. Соберите объявление этого параметра из токенов.

Нужно правильно расставить в пропуски предложенные варианты
<?php
function sendMessage($text, input1S input2S input3S) {
    echo "From: $sender; Message: $text";
}

// Вызываем функцию без указания отправителя
sendMessage("System update");
?>
'Admin'
=
$sender
'$sender'
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Вызов с параметром по умолчанию

id: 38985_task_give_result_1

Функция `power` возводит число в степень. Второй параметр, `$exponent`, по умолчанию равен 2. Что выведет код, если вызвать эту функцию, передав только один аргумент — число 8?

Что должно получиться?
<?php
function power($base, $exponent = 2) {
    return $base ** $exponent;
}

echo power(8);
?>
Сообщения
Проверить
Показать подсказку

Строгая типизация параметров

id: 38985_task_replace_2

Сделаем нашу функцию `calculateAverage` более предсказуемой. Укажите, что она должна принимать два числовых (`float`) параметра. Добавьте указание типов в объявлении функции.

Заполните пропуски
<?php
declare(strict_types=1);

function calculateAverage(input1S $a, input2S $b) {
    return ($a + $b) / 2;
}

echo calculateAverage(10.5, 20.5);
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Передача параметра по ссылке

id: 38985_task_error_2

Функция `addTax` должна изменять переданную в нее переменную `$price`, добавляя к ней 20%. Однако после вызова функции значение переменной `$price` не меняется. Исправьте объявление функции, чтобы она изменяла исходную переменную.

Найдите ошибку и исправьте
<?php
function addTax($value) {
    $value *= 1.20;
}
 
$price = 100;
addTax($price);
echo $price;
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Переменное число параметров (Variadic)

id: 38985_task_replace_3

Напишите функцию `findMax`, которая может принимать любое количество числовых аргументов и возвращать максимальный из них. Для этого нужно собрать все аргументы в один массив с помощью специального синтаксиса.

Заполните пропуски
<?php
function findMax(input1S $numbers) {
    return max(input2S);
}

echo findMax(10, 2, 88, 5, 34);
?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку
НайтиКурс.Ру