Skip to content

Практическая работа №12: Функции в PHP


Функции в PHP: Стандартные и Пользовательские

Section titled “Функции в PHP: Стандартные и Пользовательские”

Цель работы: Изучить принципы работы со стандартными функциями PHP для выполнения математических и строковых операций, а также освоить создание и использование пользовательских функций для решения прикладных задач.

Основные теоретические положения

Section titled “Основные теоретические положения”

1. Что такое функция в PHP?

Section titled “1. Что такое функция в PHP?”

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

2. Стандартные функции PHP

Section titled “2. Стандартные функции PHP”

PHP обладает обширной библиотекой встроенных (стандартных) функций, которые охватывают широкий спектр задач: от математических вычислений до работы с файловой системой и базами данных. Для вызова стандартной функции достаточно указать её имя и передать необходимые аргументы.

2.1. Математические функции

Section titled “2.1. Математические функции”

PHP предоставляет множество функций для выполнения математических операций. Примеры включают:

  • abs(): Возвращает абсолютное значение числа.
  • acos(), asin(), atan(): Возвращают арккосинус, арксинус и арктангенс числа соответственно.
  • cos(), sin(), tan(): Возвращают косинус, синус и тангенс числа.
  • log(), log10(): Возвращают натуральный и десятичный логарифм числа.
  • round(), floor(), ceil(): Функции для округления чисел.
  • max(), min(): Находят наибольшее и наименьшее значение среди переданных аргументов.
  • deg2rad(): Переводит градусы в радианы.
  • rand(), mt_rand(): Генерируют случайные числа.

Для работы со строками PHP предлагает мощный набор функций. Примеры:

  • strlen(): Возвращает длину строки.
  • str_repeat(): Повторяет строку заданное количество раз.
  • strtoupper(), strtolower(): Преобразуют строку в верхний или нижний регистр.
  • mb_strtoupper(), mb_strtolower(): Аналогичные функции для работы с многобайтовыми кодировками (например, кириллицей).
  • substr(): Извлекает подстроку из строки.
  • strpos(): Находит первое вхождение подстроки.

3. Пользовательские функции

Section titled “3. Пользовательские функции”

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

3.1. Определение функции

Section titled “3.1. Определение функции”

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

<?php
function myFunction($param1, $param2) {
// Код функции
return $result;
}
?>

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

<?php
$value = myFunction(10, 20);
echo $value;
?>

3.3. Примеры пользовательских функций

Section titled “3.3. Примеры пользовательских функций”
  • Факториал: Функция для вычисления факториала числа.
  • Числа Фибоначчи: Функция для генерации чисел Фибоначчи.
  • Обработка строк: Функции для форматирования строк, например, извлечения инициалов.
  • Треугольник Паскаля: Функция для генерации строк треугольника Паскаля.

Алгоритм выполнения работы

Section titled “Алгоритм выполнения работы”
  1. Создайте файл functions.php.
  2. В начале файла откройте блок PHP <?php ... ?>.
  1. Для каждого задания из разделов “Математические функции”, “Строковые функции” и “Пользовательские функции” напишите соответствующий PHP-код.
  2. Используйте переменные для входных данных и выводите результаты на экран с помощью echo.
  3. Для пользовательских функций сначала определите функцию, затем вызовите её с тестовыми данными.

3. Создание HTML-структуры (опционально)

Section titled “3. Создание HTML-структуры (опционально)”
  1. Если требуется, ниже PHP-блока напишите стандартную разметку HTML5.
  2. В нужных местах вставьте PHP-вставки <?php echo $variable; ?> или <?php echo myFunction($arg); ?> для вывода результатов.

Пример 1 — Использование математической функции

Section titled “Пример 1 — Использование математической функции”
<?php
$number = -15;
$absoluteValue = abs($number);
echo "Абсолютное значение числа {$number} равно: {$absoluteValue}\n";
$angleDegrees = 30;
$angleRadians = deg2rad($angleDegrees);
echo "Угол {$angleDegrees} градусов в радианах: {$angleRadians}\n";
?>
  1. Файл должен иметь расширение .php.
  2. Для каждого задания должен быть написан отдельный блок кода с комментариями.
  3. Вывод данных должен осуществляться строго через PHP (echo).
  4. Код должен быть чистым, с соответствующими отступами и комментариями.
  5. При использовании многобайтовых строк (например, кириллицы) используйте mb_* функции (например, mb_strtolower, mb_substr).

Вывод программы (что должно отображаться)

Section titled “Вывод программы (что должно отображаться)”
  • Результаты выполнения всех математических функций.
  • Результаты выполнения всех строковых функций.
  • Результаты выполнения всех пользовательских функций с тестовыми данными.

Задания для выполнения

Section titled “Задания для выполнения”

Работа со стандартными функциями

Section titled “Работа со стандартными функциями”

Напишите PHP-программу согласно своему варианту с использованием стандартных функций. Для каждого задания выведите исходные данные и полученный результат на экран.

Варианты математических функций

Section titled “Варианты математических функций”
  1. Найдите и выведите на экран абсолютное значение любого натурального числа (например, -10).
  2. Найдите и выведите на экран арккосинус любого числа (например, 0.5).
  3. Найдите и выведите на экран арксинус любого числа (например, 0.707).
  4. Найдите и выведите на экран арктангенс любого числа (например, 1).
  5. Найдите и выведите на экран косинус любого числа (например, M_PI / 3).
  6. Найдите и выведите на экран синус любого числа (например, M_PI / 2).
  7. Найдите и выведите на экран тангенс любого числа (например, M_PI / 4).
  8. Найдите и выведите на экран гиперболический арксинус любого числа (например, 1).
  9. Найдите и выведите на экран гиперболический арккосинус любого числа (например, 2).
  10. Найдите и выведите на экран гиперболический арктангенс любого числа (например, 0.5).
  11. Найдите и выведите на экран гиперболический тангенс любого числа (например, 1).
  12. Переведите 60 градусов в радианы и выведите на экран полученное значение.
  13. Найдите и выведите на экран значение десятичного логарифма любого числа (например, 100).
  14. Найдите и выведите на экран значение натурального логарифма любого числа (например, M_E).
  15. Округлите любое число в меньшую сторону (например, 5.9) и выведите на экран полученное значение.
  16. Найдите и выведите на экран наибольшее значение из любых нескольких чисел (например, [10, 25, 5, 30, 15]).
  17. Найдите и выведите на экран наименьшее значение из любых нескольких чисел (например, [10, 25, 5, 30, 15]).
  18. Сгенерируйте случайное дробное число в диапазоне от 0 до 1 и выведите результат на экран.

Варианты строковых функций

Section titled “Варианты строковых функций”
  1. Выведите на экран любую строку (например, “Hello!”) повторяющуюся 100 раз с использованием стандартных PHP функций.
  2. Преобразуйте заданные строки в верхний и нижний регистры с использованием стандартных PHP функций и выведите результат на экран.
    • Варианты строк: “Previous”, “Cлово”; “Barbell”, “явление”; “Dimensional”, ”смешанный”; “Glance”, ”запись”; “Chisel”, ”передний”; “Barbarous”, ”европейский”; “Length”, ”памятник”; “Caribou”, ”актер”; “Scrawny”, ”ценность”; “Hatchet”, ”представлять”; “Flavor”, ”линейный”; “Confuse”, ”адекватный”; “Phonograph”, ”совместный”; “Condemned”, ”гражданский”; “Aerodynamic”, ”воспользоваться”; “Disastrous”, ”вероятный”; “Educat”, ”обидеться”; “Crack”, ”заставлять”; “Addition”, ”исчезнуть”; “Condemn”, ”грустный”.
  3. Для заданных строк найдите подстроку со второго по четвертый символ и выведите результат на экран. Для решения необходимо использовать стандартные PHP функции.
    • Варианты строк: “Previous”, “Cлово”; “Barbell”, “явление”; “Dimensional”, ”смешанный”; “Glance”, ”запись”; “Chisel”, ”передний”; “Barbarous”, ”европейский”; “Length”, ”памятник”; “Caribou”, ”актер”; “Scrawny”, ”ценность”; “Hatchet”, ”представлять”; “Flavor”, ”линейный”; “Confuse”, ”адекватный”; “Phonograph”, ”совместный”; “Condemned”, ”гражданский”; “Aerodynamic”, ”воспользоваться”; “Disastrous”, ”вероятный”; “Educat”, ”обидеться”; “Crack”, ”заставлять”; “Addition”, ”исчезнуть”; “Condemn”, ”грустный”.

Работа с пользовательскими функциями

Section titled “Работа с пользовательскими функциями”

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

  1. Написать пользовательскую функцию для вычисления факториала любого заданного числа, при условии что заданное число всегда больше единицы.
  2. Написать пользовательскую функцию для вычисления числа Фибоначчи, число задаётся пользователем.
  3. Написать пользовательскую функцию, которая выводит на экран фамилию и инициалы. На вход попадает строка, в которой содержится фамилия, имя и отчество на русском языке, в некоторых случаях пользователь может передать только фамилию и имя (например, “Иванов Иван Иванович” или “Петров Петр”).
  4. Написать пользовательскую функцию для вычисления треугольника Паскаля. Функция должна принимать количество строк и выводить треугольник на экран.
  1. Что такое функция в PHP и зачем они нужны?
  2. В чем разница между стандартными и пользовательскими функциями?
  3. Приведите примеры трех математических функций PHP и их назначение.
  4. Приведите примеры трех строковых функций PHP и их назначение.
  5. Как объявить пользовательскую функцию в PHP?
  6. Что такое аргументы функции и как их передавать?
  7. Что такое возвращаемое значение функции?
  8. Зачем использовать mb_* функции при работе со строками, содержащими кириллицу?
  • Корректное использование стандартных математических функций: 25%.
  • Корректное использование стандартных строковых функций: 25%.
  • Правильная реализация и использование пользовательских функций: 30%.
  • Оформление кода (чистота, комментарии) и ответы на контрольные вопросы: 20%.

Рекомендуемая литература

Section titled “Рекомендуемая литература”
  1. Официальная документация PHP: Функцииphp.net/manual/ru/language.functions.php.
  2. W3Schools PHP Functionsw3schools.com/php/php_functions.asp.
  3. Дэвид СклярИзучаем PHP 7. (Глава о функциях).
  4. PHP The Right Way: Функцииphptherightway.com/#functions.