Функции, приемащи аргументи по подразбиране
Информацията може да се подаде към функцията чрез списък от аргументи. Няма ограничение за броят на аргументите, които може да приеме функцията. Аргументите се отделят един от друг със запетаи.
Синтаксисът на функцията, приемаща аргументи е следния:
Синтаксисът на функцията, приемаща аргументи е следния:
function Име_на_функцията ($аргумент_1, $аргумент_2 и т. н.) { инструкция/инструкции; }
В кръглите скоби можете да посочите и стойността на аргумента, например:
function Име_на_функцията ($аргумент_1=”Ябълка”, $аргумент_2=”Ягода”) { инструкция/инструкции; }Ако между скобите има аргументи, на които не сте задали стойност, те трябва да се поставят в лявата част, т.е.:
function Име_на_функцията ($аргумент_2, $аргумент_1=”Ябълка”) { инструкция/инструкции; }Като аргументи, функцията може да приема още масиви и типа NULL. Стойността на аргумента не може да бъде променлива, член на клас или друга функция.(http://php.net/manual) Ако подадете два аргумента на функцията, но само един от тях имат определена стойност, вторият аргумент ще получи стойност NULL (не е определена стойността, което е различно от математическата 0).
За да демонстрираме създаването и извикването на функция, приемаща аргументи по подразбиране, ще ползваме файла if_elseif.php
(http://dreamlandpoly.blogspot.com/p/controlstructures-1.html#ifelseif). Ще поместим скрипта за приветствието във функция, която приема като аргумент името на потребителя.
(http://dreamlandpoly.blogspot.com/p/controlstructures-1.html#ifelseif). Ще поместим скрипта за приветствието във функция, която приема като аргумент името на потребителя.
- Отворете текстовия редактор.
- Създайте нов документ.
- Дайте му наименование ifelseif_1.php.
- Копирайте скрипта от файла if_elseif.php и го поставете във файла, който току що създадохте.
- Променете ред 4 с този:
<title>Функция за поздрав към потребителя</title>
- На ред 26 дайте начало на функцията:
function greet_user ($firstname){
С този ред създаваме функцията, която ще служи за извеждане на поздрав към потребителя. - На ред 45 поставете затваряща къдрава скоба.
Ако сега изпълните скрипта, в браузъра ще се изведе само съобщението за часа. Защо? Защото функцията, която създадохме не е извикана. - Премахнете редовете от 20 до 25 (включително) и ред 45.
- След затварящия таг ?>, за да извикаме функцията, въвеждаме следния скрипт:
<?php if ($firstname == ""){ echo "Влезте в акаунта си, моля!"."\n"; } else{ greet_user ($firstname); } ?>
- Съхранете файла и го качете на сървъра. Тествайте в браузъра.
Съдържанието на файла ifelseif_1.php:
<!Doctype html> <html> <head> <title>Функция за поздрав към потребителя</title> <meta http-equiv="Content-Type" content="text/html"; charset="UTF-8"> </head> <body> <?php //Задава стойност на променливата $firstname $firstname = "Edelw"; //Извежда съобщение за часа, минутите и секундите //и дава информация дали е преди обяд (AM) //или след обяд (PM) echo "Часът е" . " " . date ("H:m:s") . " " . date("A") . "<br/><br/>"; //Създава функция за извеждане на поздрав към потребителя function greet_user ($firstname){ if( date("H:m:s") < 12) { //Ако е сутрин, поздрава ще е “Добро утро" echo (" Добро утро,". " ".$firstname . "!" ); } elseif ((date("H:m:s") >= 12 ) and (date ("H") < 18 )) { //Ако е между 12:00 и 18:00, поздравът ще е "Добър ден" echo ("Добър ден,". " ". $firstname . "!") ; } else { //След 18 часа, поздрава ще е "Добър вечер" echo ("Добър вечер,". " ". $firstname . "!") ; } } ?> <?php //Проверява дали е въведено името if ($firstname == ""){ echo "Влезте в акаунта си, моля!"."\n"; } else{ //Извиква функцията greet_user ($firstname); } ?> </body> </html>Най-удачното място за съхранение на функциите е във външен файл. Така функциите са достъпни отвсякъде, но това … не му е сега времето. :)
|
Няма коментари:
Публикуване на коментар