Практическая работа №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(): Генерируют случайные числа.
2.2. Строковые функции
Section titled “2.2. Строковые функции”Для работы со строками PHP предлагает мощный набор функций. Примеры:
strlen(): Возвращает длину строки.str_repeat(): Повторяет строку заданное количество раз.strtoupper(),strtolower(): Преобразуют строку в верхний или нижний регистр.mb_strtoupper(),mb_strtolower(): Аналогичные функции для работы с многобайтовыми кодировками (например, кириллицей).substr(): Извлекает подстроку из строки.strpos(): Находит первое вхождение подстроки.
3. Пользовательские функции
Section titled “3. Пользовательские функции”Помимо стандартных, разработчик может создавать собственные функции для выполнения специфических задач. Это позволяет структурировать код, избегать дублирования и повышать его читаемость.
3.1. Определение функции
Section titled “3.1. Определение функции”Пользовательская функция определяется с помощью ключевого слова function, за которым следует имя функции, список параметров в скобках и блок кода в фигурных скобках.
<?phpfunction myFunction($param1, $param2) { // Код функции return $result;}?>3.2. Вызов функции
Section titled “3.2. Вызов функции”Для вызова функции достаточно указать её имя и передать аргументы, соответствующие параметрам.
<?php$value = myFunction(10, 20);echo $value;?>3.3. Примеры пользовательских функций
Section titled “3.3. Примеры пользовательских функций”- Факториал: Функция для вычисления факториала числа.
- Числа Фибоначчи: Функция для генерации чисел Фибоначчи.
- Обработка строк: Функции для форматирования строк, например, извлечения инициалов.
- Треугольник Паскаля: Функция для генерации строк треугольника Паскаля.
Алгоритм выполнения работы
Section titled “Алгоритм выполнения работы”1. Подготовка файла
Section titled “1. Подготовка файла”- Создайте файл
functions.php. - В начале файла откройте блок PHP
<?php ... ?>.
2. Реализация заданий
Section titled “2. Реализация заданий”- Для каждого задания из разделов “Математические функции”, “Строковые функции” и “Пользовательские функции” напишите соответствующий PHP-код.
- Используйте переменные для входных данных и выводите результаты на экран с помощью
echo. - Для пользовательских функций сначала определите функцию, затем вызовите её с тестовыми данными.
3. Создание HTML-структуры (опционально)
Section titled “3. Создание HTML-структуры (опционально)”- Если требуется, ниже PHP-блока напишите стандартную разметку HTML5.
- В нужных местах вставьте PHP-вставки
<?php echo $variable; ?>или<?php echo myFunction($arg); ?>для вывода результатов.
Примеры реализации (PHP)
Section titled “Примеры реализации (PHP)”Пример 1 — Использование математической функции
Section titled “Пример 1 — Использование математической функции”<?php$number = -15;$absoluteValue = abs($number);echo "Абсолютное значение числа {$number} равно: {$absoluteValue}\n";
$angleDegrees = 30;$angleRadians = deg2rad($angleDegrees);echo "Угол {$angleDegrees} градусов в радианах: {$angleRadians}\n";?>Общие требования
Section titled “Общие требования”- Файл должен иметь расширение
.php. - Для каждого задания должен быть написан отдельный блок кода с комментариями.
- Вывод данных должен осуществляться строго через PHP (
echo). - Код должен быть чистым, с соответствующими отступами и комментариями.
- При использовании многобайтовых строк (например, кириллицы) используйте
mb_*функции (например,mb_strtolower,mb_substr).
Вывод программы (что должно отображаться)
Section titled “Вывод программы (что должно отображаться)”- Результаты выполнения всех математических функций.
- Результаты выполнения всех строковых функций.
- Результаты выполнения всех пользовательских функций с тестовыми данными.
Задания для выполнения
Section titled “Задания для выполнения”Работа со стандартными функциями
Section titled “Работа со стандартными функциями”Напишите PHP-программу согласно своему варианту с использованием стандартных функций. Для каждого задания выведите исходные данные и полученный результат на экран.
Варианты математических функций
Section titled “Варианты математических функций”- Найдите и выведите на экран абсолютное значение любого натурального числа (например,
-10). - Найдите и выведите на экран арккосинус любого числа (например,
0.5). - Найдите и выведите на экран арксинус любого числа (например,
0.707). - Найдите и выведите на экран арктангенс любого числа (например,
1). - Найдите и выведите на экран косинус любого числа (например,
M_PI / 3). - Найдите и выведите на экран синус любого числа (например,
M_PI / 2). - Найдите и выведите на экран тангенс любого числа (например,
M_PI / 4). - Найдите и выведите на экран гиперболический арксинус любого числа (например,
1). - Найдите и выведите на экран гиперболический арккосинус любого числа (например,
2). - Найдите и выведите на экран гиперболический арктангенс любого числа (например,
0.5). - Найдите и выведите на экран гиперболический тангенс любого числа (например,
1). - Переведите 60 градусов в радианы и выведите на экран полученное значение.
- Найдите и выведите на экран значение десятичного логарифма любого числа (например,
100). - Найдите и выведите на экран значение натурального логарифма любого числа (например,
M_E). - Округлите любое число в меньшую сторону (например,
5.9) и выведите на экран полученное значение. - Найдите и выведите на экран наибольшее значение из любых нескольких чисел (например,
[10, 25, 5, 30, 15]). - Найдите и выведите на экран наименьшее значение из любых нескольких чисел (например,
[10, 25, 5, 30, 15]). - Сгенерируйте случайное дробное число в диапазоне от 0 до 1 и выведите результат на экран.
Варианты строковых функций
Section titled “Варианты строковых функций”- Выведите на экран любую строку (например, “Hello!”) повторяющуюся 100 раз с использованием стандартных PHP функций.
- Преобразуйте заданные строки в верхний и нижний регистры с использованием стандартных PHP функций и выведите результат на экран.
- Варианты строк: “Previous”, “Cлово”; “Barbell”, “явление”; “Dimensional”, ”смешанный”; “Glance”, ”запись”; “Chisel”, ”передний”; “Barbarous”, ”европейский”; “Length”, ”памятник”; “Caribou”, ”актер”; “Scrawny”, ”ценность”; “Hatchet”, ”представлять”; “Flavor”, ”линейный”; “Confuse”, ”адекватный”; “Phonograph”, ”совместный”; “Condemned”, ”гражданский”; “Aerodynamic”, ”воспользоваться”; “Disastrous”, ”вероятный”; “Educat”, ”обидеться”; “Crack”, ”заставлять”; “Addition”, ”исчезнуть”; “Condemn”, ”грустный”.
- Для заданных строк найдите подстроку со второго по четвертый символ и выведите результат на экран. Для решения необходимо использовать стандартные PHP функции.
- Варианты строк: “Previous”, “Cлово”; “Barbell”, “явление”; “Dimensional”, ”смешанный”; “Glance”, ”запись”; “Chisel”, ”передний”; “Barbarous”, ”европейский”; “Length”, ”памятник”; “Caribou”, ”актер”; “Scrawny”, ”ценность”; “Hatchet”, ”представлять”; “Flavor”, ”линейный”; “Confuse”, ”адекватный”; “Phonograph”, ”совместный”; “Condemned”, ”гражданский”; “Aerodynamic”, ”воспользоваться”; “Disastrous”, ”вероятный”; “Educat”, ”обидеться”; “Crack”, ”заставлять”; “Addition”, ”исчезнуть”; “Condemn”, ”грустный”.
Работа с пользовательскими функциями
Section titled “Работа с пользовательскими функциями”Создайте и используйте следующие пользовательские функции, выведя результаты их работы на экран с тестовыми данными.
- Написать пользовательскую функцию для вычисления факториала любого заданного числа, при условии что заданное число всегда больше единицы.
- Написать пользовательскую функцию для вычисления числа Фибоначчи, число задаётся пользователем.
- Написать пользовательскую функцию, которая выводит на экран фамилию и инициалы. На вход попадает строка, в которой содержится фамилия, имя и отчество на русском языке, в некоторых случаях пользователь может передать только фамилию и имя (например, “Иванов Иван Иванович” или “Петров Петр”).
- Написать пользовательскую функцию для вычисления треугольника Паскаля. Функция должна принимать количество строк и выводить треугольник на экран.
Контрольные вопросы
Section titled “Контрольные вопросы”- Что такое функция в PHP и зачем они нужны?
- В чем разница между стандартными и пользовательскими функциями?
- Приведите примеры трех математических функций PHP и их назначение.
- Приведите примеры трех строковых функций PHP и их назначение.
- Как объявить пользовательскую функцию в PHP?
- Что такое аргументы функции и как их передавать?
- Что такое возвращаемое значение функции?
- Зачем использовать
mb_*функции при работе со строками, содержащими кириллицу?
Критерии оценки
Section titled “Критерии оценки”- Корректное использование стандартных математических функций: 25%.
- Корректное использование стандартных строковых функций: 25%.
- Правильная реализация и использование пользовательских функций: 30%.
- Оформление кода (чистота, комментарии) и ответы на контрольные вопросы: 20%.
Рекомендуемая литература
Section titled “Рекомендуемая литература”- Официальная документация PHP: Функции — php.net/manual/ru/language.functions.php.
- W3Schools PHP Functions — w3schools.com/php/php_functions.asp.
- Дэвид Скляр — Изучаем PHP 7. (Глава о функциях).
- PHP The Right Way: Функции — phptherightway.com/#functions.