Объявление функций

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

Тренажер PHP

Функции — это основа многоразового кода в PHP. Вместо того чтобы писать одно и то же снова и снова, вы можете упаковать логику в специальный блок и вызывать его по имени, когда это необходимо. Это делает код чище, короче и проще в поддержке.

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

Список тем

Объявление и вызов простейшей функции

id: 38983_task1

В коде не хватает ключевых элементов для объявления и вызова функции. Заполните пропуски, чтобы объявить функцию `sayHello` и затем вызвать её для вывода приветствия.

Заполните пропуски
<?php

// Объявите функцию
input1S sayHello() {
  echo "Hello, World!";
}

// Вызовите её
input2S;

?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Исправьте ошибку в объявлении

id: 38983_task2

В коде есть опечатка в ключевом слове для объявления функции. Найдите строку с ошибкой и исправьте её, чтобы код стал рабочим и вывел сообщение на экран.

Найдите ошибку и исправьте
<?php
funtion showMessage() {
  echo "Это рабочая функция!";
}
showMessage();
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Соберите рабочую программу

id: 38983_task3

Строки кода перепутаны. Расставьте их в правильном порядке, чтобы сначала была объявлена функция для сложения двух чисел, а затем она была вызвана для вывода результата.

Расставьте строки в правильном порядке
echo add(3, 4);
function add($a, $b) {
return $a + $b;
}
<?php
Сообщения
Проверить
Показать подсказку

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

id: 38983_task4

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

Заполните пропуски
<?php

function greet(input1S) {
  echo "Привет, " . input2S . "!";
}

greet("Иван");

?>
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что вернет функция?

id: 38983_task5

Проанализируйте код. Функция `calculateArea` принимает два числа, перемножает их и возвращает результат с помощью оператора `return`. Что будет выведено на экран в результате вызова `echo calculateArea(5, 10);`?

Что должно получиться?
<?php

function calculateArea($width, $height) {
  return $width * $height;
}

echo calculateArea(5, 10);

?>
Сообщения
Проверить
Показать подсказку

Соберите объявление функции из банка

id: 38983_task6

Перетащите элементы из "банка токенов" в пропуски, чтобы составить синтаксически правильное объявление функции с именем `buildMessage` и одним параметром `$text`.

Нужно правильно расставить в пропуски предложенные варианты
<?php

input1S input2S(input3S) {
  return "Сообщение: " . $text;
}

?>
function
return
buildMessage
$text
echo
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Ошибка в возвращаемом значении

id: 38983_task7

Функция `getSum` правильно вычисляет сумму, но при попытке вернуть результат допущена ошибка: пропущен важный символ. Исправьте строку с `return`, чтобы функция возвращала значение переменной.

Найдите ошибку и исправьте
<?php
function getSum($num1, $num2)
{
  $result = $num1 + $num2;
  return result;
}
echo getSum(100, 55);
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Сборка функции и её использование

id: 38983_task8

Соберите из фрагментов кода полноценную программу. Программа должна объявлять функцию `createGreeting`, которая создает строку приветствия, а затем вызывать эту функцию, сохранять результат в переменную и выводить его на экран. Один из фрагментов лишний.

Перетяните в правильном порядке строки из одного блока в другой
return "Hello, " . $name;
<?php
$greeting = createGreeting("Maria");
echo $greeting;
function createGreeting($name) {
echo "Hello, " . $name;
}
Сообщения
Проверить
Показать решение на 3 сек.
Показать подсказку

Что выведет код?

id: 38983_task9

В этом коде объявляется функция, но она ни разу не вызывается. Внимательно посмотрите на код и предскажите, что будет выведено на экран в результате его выполнения.

Выберите правильный вариант ответа
<?php

function importantNotice() {
  echo "This is an important notice!";
}

// Скрипт завершается здесь

?>
Сообщения
Проверить
Показать подсказку

Сопоставьте термины и части кода

id: 38983_task10

Каждая функция состоит из нескольких стандартных частей. Сопоставьте названия этих частей (левая колонка) с соответствующими фрагментами кода (правая колонка).

Сопоставьте строки в правой части с соответствующими строками в левой по порядковому номеру
Ключевое слово для объявления
Имя функции
Список параметров
Тело функции
Вызов функции
greet("Bob");
`greet`
`function`
`($name)`
`{ echo "Hi, " . $name; }`
Сообщения
Проверить
Показать подсказку
НайтиКурс.Ру