Это уже последняя часть учебника, про основы программирования на PHP, тут будет рассказываться про создания функции в PHP, и вообще как с ними работать, также затрону работу со статичными и глобальными переменными.
Что такое функция:
Для начала надо понять что такое функция вообще, если кратко говоря, то это просто кусок куда, который можно вызвать (запустить) в любой точке кода программы.
Это нужно для того, что бы не повторять постоянно код программы, потому что в программирования считается плохим тоном, повторять код, ну и на мой взгляд это ещё удобнее.
Создания функции в PHP:
В PHP объявление функции очень простое, вам просто надо написать слово function
, после него название функции, круглы скобки, фигурные скобки и уже в них писать код.
Вызвать её тоже очень просто, пишем название функции и круглые скобки.
1 2 3 4 5 6 7 | // Объявление (создание) функции с названием hello_world function hello_world () { echo 'Hello World</br>'; } // Вызов (запуск) функции hello_world hello_world(); |
Как видите всё очень просто, вот что она выводит.
Также, если мы её визовым несколько раз, то получим несколько предложений «Hello World».
1 2 3 4 5 6 7 8 9 | // Объявление функции с названием hello_world function hello_world () { echo 'Hello World</br>'; } // Вызов несколько раз функции hello_world hello_world(); hello_world(); hello_world(); |
Вот как то так.
Как видите это достаточно удобно и просто.
Параметры в функции:
Также в PHP есть передача параметров в функции, это очень полезно, к примеру когда вам нужно сравнить два числа, вы просто передаёте эти числа в функцию и она уже сравнивает.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // Объявление функции с названием num_top function num_top ($a, $b) { if ($a > $b) { echo '$a > $b, $a = ' . $a . '</br>'; } elseif ($a < $b) { echo '$a < $b, $b = ' . $b . '</br>'; } else { echo '$a = $b, $b и $a = ' . $a . '</br>'; } } // Вызов несколько раз функции num_top с разными параметрами num_top(3, 1); // параметр $a = 3, параметр $b = 1 num_top(2, 9); // параметр $a = 2, параметр $b = 9 num_top(5, 5); // параметр $a = 5, параметр $b = 5 |
Вот результат.
Также в качестве параметра можно передавать переменную, при чём, вообще без разницы какую, тут всё зависит от того, что вам нужно делать в функции, можно даже передавать массивы.
Возврат значения в функции:
Также функция может возвращать разные значения, это нужно, к примеру, если нам не надо, чтобы функция выводила на экран, какое значение больше, а только давала нам это значение, для дальнейшей работы с ним.
Для этого, внутри функции используется ключевое слово return
.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | // Объявление функции с названием num_top function num_top ($a, $b) { if ($a >= $b) { // Возвращает $a, если $a больше или равно $b return $a; } elseif ($a < $b) { // Возвращает $b, если $a меньше $b return $b; } } // Вызов несколько раз функции num_top с разными параметрами $a = num_top(3, 1); // Переменная $a равна 3 $b = num_top(5, 10); // Переменная $a равна 10 // выводим на экран, чему равны переменные echo '$a = ' . $a . ', $b = ' . $b . '</br>'; // Складываем их и выводим на экран echo $a + $b; |
Вот результат.
Как видите всё работает, сначала сравниваем три и один, получается три больше чем один, число возвращается и присваивается переменной $a
, точно также с переменной $b
, после этого складываем эти две переменный и получается 13.
Ещё в PHP можно передать функцию как параметр, это иногда бывает полезно, что бы не создавать отдельную переменную.
1 2 3 4 5 6 7 8 9 10 11 12 13 | // Объявление функции с названием num_top function num_top ($a, $b) { if ($a >= $b) { // Возвращает $a, если $a больше или равно $b return $a; } elseif ($a < $b) { // Возвращает $b, если $a меньше $b return $b; } } // Вызываем функцию, и передаём другую функцию echo num_top(num_top(3, 2), num_top(1, 4)); // Выведет 4 |
Как видите всё просто, это пожалуй всё основное что нужно знать о функциях, единственное, примеры были достаточно однообразны.
Глобальные и статические переменные:
Это часть не очень сильно относится к функциям, но тем не менее её надо знать.
Глобальные переменные:
Для начала рассмотрим глобальные переменные, это переменные которые объявлены вне какой функции, то есть внутри функции их нет, их называют глобальными, а те которые объявлены внутри функции, называются локальными.
В том дела, что если вы в функции хотите использовать глобально переменную, то вы не сможете это так просто сделать.
Объявление глобальной переменной в PHP, очень простое, просто объявляете её вне функции, вот получить её будет тоже очень просто, для этого надо использовать ключевое слово global
или массив $GLOBALS
, рассмотрим оба эти варианта.
1 2 3 4 5 6 7 8 9 10 11 12 | $a = 10; // Объявление глобальной переменной // Объявление функции с названием plus function plus () { $b = 5; // Объявление локальной переменной global $a; // Получение глобальной переменной echo $a + $b; // Складываем и выводим на экран } // Вызываем функцию plus plus(); |
Вот результат.
Как видите функция взяла переменную $a
, которая равна 10, и сложила её с внутренний переменной $b
, которая равна 5, вывела на экран 15.
Теперь рассмотрим массив $GLOBALS
, но это просто массив, который хранит в себе все глобальные переменные.
Важно: для названия переменной, внутри квадратных скобок, используется строка названия переменной без знака доллара в начале.
1 2 3 4 5 6 7 8 9 10 11 | $a = 10; // Объявление глобальной переменной // Объявление функции с названием plus function plus () { $b = 5; // Объявление локальной переменной echo $GLOBALS['a'] + $b; // Складываем и выводим на экран } // Вызываем функцию plus plus(); |
Вывод будет точно такой же, как из первого примера,
Ну а что если мы просто напишем $a + $b
?
То тогда он просто выведет 5, так как, PHP создаёт новую локальную переменную $a
, которая равна нулю, потому что ей не чего не присваивается.
Статические переменные:
Статичная переменная в PHP, это ещё очередной тип переменной, как глобальная или локальная.
По сути это локальная переменная, но различие в том, что если создаём её, то она не удаляется, после того как функция закончит свою работу.
Что бы создать статичную переменную, надо перед её объявлением использовать ключевое слово static.
1 2 3 4 5 6 7 8 9 10 11 | // Объявление функции с названием plus_one function plus_one () { static $a = 0; // Объявление статичной переменной $a $a++; // увеличение переменной на один echo $a . " "; // Вывод переменной на экран } // вызываем функцию plus_one for ($i = 0; $i < 10; $i++) { plus_one(); } |
Вот результат.
Как видите получается счёт, от нуля до десяти, если мы уберём static
, то вот что получится.
Просто выводит единицы, потому что при каждом вызови функции, переменная $a
, удаляется и создаётся заново, статичная переменная нет.
Вывод:
В этой части вы узнали о том как происходит создания функции в PHP 7 и вообще что это такое, также, узнали о глобальных и статичных переменных.
Это была последняя часть из учебника, основы программирования на PHP, теперь вы можете начать изучать ООП на PHP.