Пока я творю, я живу!
Блог посвящен: HTML, CSS, PHP, Wordpress, Bootstrap
Всем привет!
Продолжаем изучать основы PHP с нуля!
В этом уроке я расскажу вам про функции (function) на PHP.
Вы частенько будете видеть в чужом коде или даже сами использовать в своем коде function.
Итак, давайте для начала выясним, что такое Функция (function).
Функция (function) – это мини-программа, которая выполняет какие-то необходимые для нас действия и выдает готовый результат при вызове этой функции. Функцию можно вызывать на исполнение сколько угодно раз.
- Голова еще не кипит от теории? Переходим к примерам .
Синтаксис:
<?php function имя_функции (параметры) { тело функции (то, что функция делает); } имя_функции(); /* выводим результат */ ?>
Параметры - это не обязательная часть кода
Пример:
<?php function StepkinBLOG() { echo "сайт StepkinBLOG.RU"; } ?>
Чтобы вывести результат, нужно вызвать функцию. Для этого достаточно в коде написать имя функции, в моем случае это «StepkinBLOG( )».
Пример:
<?php function StepkinBLOG() { echo "сайт StepkinBLOG.RU"; } // вызов функции StepkinBLOG(); /* выводим результат */ ?>
Конечно, можно вывести результат в любом месте страницы, например:
<?php function StepkinBLOG() { echo "сайт StepkinBLOG.RU"; } ?> Тут очень много текста….. <? // вызов функции StepkinBLOG(); /* выводим результат */ ?> Тут тоже может быть текст…
Результат:
сайт StepkinBLOG.RU
Внимание: имя_функции() не чувствительна к регистру букв. То есть, имя «StepkinBLOG» будет восприниматься одинаково со «stepkinblog».
Пример:
<?php function StepkinBLOG() { echo "сайт StepkinBLOG.RU"; } // вызов функции stepkinblog (); /* выводим результат */ ?>
Обратите внимание на строку №2: там я дал имя функции «StepkinBLOG()», но вызвал функцию, прописав имя вот так «stepkinblog ()», строка №7 (красными буквами я указал, на что обратить внимание).
Также параметрам функции вы можете передавать любое значение, текст или же число.
Давайте я на примере все покажу:
<?php // Определение функции function my_car($car, $color) { // Указано два параметра: $car и $color echo "У меня гитара $car и она $color цвета"; } // Вызываем функцию и передаем ей два аргумента my_car('Гипсон', 'черного'); // Аргументы - строковой литерал и переменная ?>
Результат:
У меня гитара Гипсон и она черного цвета
Вы обратили внимание, что в параметрах переменная $car получила значение «Гипсон», а переменная $color получила значение «черного».
Если посмотреть схематически, то это выглядит вот так:
Теперь посмотрим пример с цифрами:
<?php $a = 10; $b = 15; function stepkinblog_ru ($a, $b) { $syma = $a + $b; echo "$a + $b = $syma"; } stepkinblog_ru ($a, $b); // Вызываем функцию и передаем ей два аргумента ?>
Результат:
10 + 15 = 25
Как видите, здесь все аналогично первому примеру, только в этот раз я решил значение в переменных вынести за пределы самой функции.
Вот еще один способ, как вы можете передавать аргумент в параметры функции:
<?php function tea($str = 'муха') { return "В чашке $str<br>\n"; } echo tea(); // выведет значение по умолчанию echo tea('таракан'); ?>
В результате получите на экране:
В чашке муха
В чашке таракан
Я думаю, вы поняли, что параметрам можно передавать сколько угодно аргументов. Вот я сейчас передам три аргумента, это адрес сайта, название ссылки и маленькая реклама сайта.
<?php function stepkinblog_ru($link,$title,$bla_bla) { echo "Блог <a href='$link'>$title</a> $bla_bla"; } stepkinblog_ru('http://stepkinblog.ru/','StepkinBLOG.RU',' – все про PHP, CSS, HTML и WordPress!'); ?>
В результате:
Блог StepkinBLOG.RU – все про PHP, CSS, HTML и WordPress!
Возврат результата с помощью return может быть полезен, если функция реализует какой-либо полезный алгоритм. Return просто вернет результат, а как его использовать вы решаете уже по ходу, в зависимости от требований.
Давайте я приведу два одинаковых примера, где я использую return и где не использую.
С return
<? function Sreturn($numberA,$numberB) { $sum = $numberA * $numberB; return $sum; } // выведем результаты echo Sreturn(5,2)."<br>"; // результат 10 echo Sreturn(2,1)."<br>"; // результат 2 $symA = Sreturn(5,2); // загоняем в переменную результат 10 $symB = Sreturn(2,1); //загоняем в переменную результат 2 echo $symA + $symB; // результат 12 echo "<br>"; echo $symA + 3; // результат 13 ?>
Результат:
10
2
12
13
Как видите, я вернул результат, используя «return», а дальше с результатом делаю все, что мне хочется, например, вывожу или делаю дополнительные математические действия, то что без «return» не возможно.
Без return
<? function BEZreturn($numberA,$numberB) { $sum = $numberA * $numberB; echo $sum; } BEZreturn(5,2); // результат 10 echo "<br>"; BEZreturn(2,1); // результат 2 ?>
Результат:
10
2
Вот, что максимум можно сделать с функцией без использования return. То есть, просто вывести результат алгоритма, который был прописан внутри функции, а при использовании «return» мы можем с результатом творить все, что вздумается.
Подписывайтесь на обновления моего блога StepkinBLOG.RU .