Menu
Coddy logo textTech

Функции переменных

Часть раздела Логика и управление потоком путешествия по PHP на Coddy — урок 6 из 68.

Переменные функции предлагают еще один способ динамического вызова функций в PHP. Вместо использования call_user_func(), вы можете напрямую вызвать функцию, обращаясь к переменной, содержащей имя функции, так, как если бы она сама была функцией.

Синтаксис прост: если у вас есть переменная, содержащая имя функции, вы можете вызвать эту функцию, добавив круглые скобки к переменной:

<?php
function sayHello() {
    echo "Hello World!";
}

$functionName = "sayHello";
$functionName();  // Выводит: Hello World!
?>

Это также работает с функциями, которые принимают параметры. Вы просто передаете аргументы внутри круглых скобок:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

$func = "greet";
$func("Alice");  // Выводит: Hello, Alice!
?>

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

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

challenge icon

Задание

Легко

Создайте три функции: calculateArea, которая принимает два числа (длину и ширину) и возвращает их произведение, calculatePerimeter, которая принимает два числа и возвращает их удвоенную сумму, и calculateDiagonal, которая принимает два числа и возвращает квадратный корень из суммы их квадратов.

Вы получите три входных значения: название операции ("area", "perimeter" или "diagonal"), длину и ширину. Прочитайте все три входных значения, сохраните имя функции в переменной, вызовите эту функцию, используя синтаксис переменных функций с двумя измерениями, и выведите результат.

Формат входных данных: Три строки — первая строка содержит название операции, вторая строка содержит длину (число, которое может содержать десятичные знаки), третья строка содержит ширину (число, которое может содержать десятичные знаки)

Ожидаемый результат: Результат вычисления

Шпаргалка

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

Базовый синтаксис — добавьте круглые скобки к переменной, содержащей имя функции:

<?php
function sayHello() {
    echo "Hello World!";
}

$functionName = "sayHello";
$functionName();  // Выводит: Hello World!
?>

Переменные функции также работают с параметрами:

<?php
function greet($name) {
    echo "Hello, " . $name . "!";
}

$func = "greet";
$func("Alice");  // Выводит: Hello, Alice!
?>

Попробуйте сами

<?php
// Чтение входных данных
$operation = trim(fgets(STDIN));
$length = floatval(fgets(STDIN));
$width = floatval(fgets(STDIN));

// TODO: Создайте здесь три функции (calculateArea, calculatePerimeter, calculateDiagonal)

// TODO: Вызовите соответствующую функцию, используя синтаксис переменных функций, и сохраните результат

// Вывод результата
echo $result;
?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком