Към bezplatno.info портал | Галерия | Рецепти | Чат | Цитати | #bezplatno.info @ uniBG | Филми | Футбол | Качване на картинки | orion8800.com
 Въпроси/Отговори ::  Търсене ::  Потребители ::  Потребителски групи ::   Регистрирайте се ::  Вход 


Google
 





- А стига бе, стабилен Shell и то с SMS?
- Ахам, при нашия спонсор Forci.com!

ФУНКЦИИ (Уроци по PHP за начинаещи)
 
Създайте нова тема   Напишете отговор
Безплатни домейни Форуми » IT Уроци
Предишната тема :: Следващата тема  
Автор Съобщение
qNuZoV
Забогатяващ
Забогатяващ


Регистриран на: 31 Авг 2008
Мнения: 96

38 Домейн Точки

МнениеПуснато на: Вто Сеп 02, 2008 7:12 pm    Заглавие: ФУНКЦИИ (Уроци по PHP за начинаещи) Отговорете с цитат

МнениеПуснато на: Нед Май 11, 2008 2:42 am Заглавие: ФУНКЦИИ (Уроци по PHP за начинаещи) Отговорете с цитат
Какво е функция? Видове функции. Дефиниране и извикване на функция.

Фукциите са друг, също много важен вид конструкции на езика. Може да се каже, че променливите и функциите са най-важните елементи в PHP.

Функцията представлява самостоятелно, автономно "парче" код, което трябва да изпълни опредена задача. Бихме могли да я наречем "скрипт в скрипта" или "подскрипт".


1. Видове функции.
Функцията, подобно на променливата, трябва да има някакво название. В PHP има както готови (вградени в езика, стандартни) функции, чиито имена са фиксирани, така има и възможност вие да създадете каквито функции желаете, като им зададете всякакви произволни названия. Т.е. функциите в PHP биват
- стандартни функции (вградени в езика), с фиксирани имена
- собствени функции (дефинирани от разработчика), с произволни имена

PHP поддържа стотици вградени в езика функции, с които могат да се извършват разнообразни операции. В примерите са разгледани някои от най-популярните функции като например функцията mail() с чиято помощ може да се изпращат съобщения на имейл, функцията include() чрез която един документ може да бъде включен в друг документ и функцията date() чрез която може да се позват текущите дата и час. В материалите за масиви са описани някои от функциите за работа с масиви. Списък на функциите в PHP може да видите в официалния сайт www.php.net


2. Названия на функции. Синтаксис на имената на функциите.
Функциите се отличават от променливите и по това, че не съдържат знака на долара, нито какъвто и да е друг символ пред името. Всички функции задължително съдържат след названието си кръгли скоби, в които може да има поставени един или няколко параметъра, а може и да няма никакви параметри. Следователно обичайния вид на функциите е: funkcia()

След като веднъж е създадена, за разлика от променливата, функцията не може да бъде променяна.

Синтаксисът на имената при функциите се подчинява на същите правила като синтаксиса на имената при променливите, т.е. името на дадена функция може да съдържа латински букви, арабски цифри и долно тире, като може да започва с буква или долно тире, но не и с цифра.

За разлика от променливите обаче при имената на функциите няма значение дали те са зададени с големи или малки букви. Т.е. названията funkcia(), Funkcia() и FUNKCIA() ще бъдат възприети от PHP като една и съща функция. Понеже не е възможно да имате две или повече функции с еднакви названия, то при създаването на всяка функция трябва да задавате уникално име, което се отличава от другите имена на функции поне по един символ, а не по големите и малките букви. Например funk1() и FUNK1() са еднакви названия на функции и не могат да бъдат използвани и двете едновременно, докато funk1() и funk2() са две различни уникални имена на функции.


3. Създаване на собствени функции. Извикване на функции.
Създаването (декларирането) на ваша собствена функция има следния синтаксис:

function ime_na_funkcia ($parameter1, $parameter2, $parameter3...) {код в "тялото" на функцията}

Т.е. най-напред се изписва ключовата дума function, след което трябва да запишете произволно избрано име на функцията. В кръглите скоби, които се поставят след названието на функцията, може да има произволен брой параметри, а може и да няма нито един. След това в големи скоби се затваря изпълнимия код от "тялото" на функцията.

Друга важна особеност на функциите е, че след като дадена функция е създадена (дефинирана) веднъж, тя може да бъде извикана колкото искате пъти и на което място в кода пожелаете. В кръглите скоби може да разположите колкото желаете параметри, а в големите скоби може да имате колкото и какъвто пожелаете код. Както разбирате по този начин може да си спестите доста труд, защото кода който ще се наложи да изпишете ще бъде много по-малко и по-прегледен, отколкото ако трябва да направите всичко чрез HTML.

Да си представим, че имате уеб страница в която трябва на няколко места да покажете даден списък с някакви елементи. В такъв случай кода ви може да изглежда по следния начин:

</ul>

В горния код създадохме функцията mylist(), която е без параметри и след това я извикахме два пъти. Този код ще има като ефект двукратното показване на списъка с елементите от 1 до 5. Т.е. след като функцията е създадена и е зададен изпълнимия код в големите скоби, след това може да я извикате един или няколко пъти просто като напишете названието й в кода на документа на необходимото място.

Обърнете внимание, че кръглите скоби задължително се изписват след името на функцията, независимо, че в тях може да няма никакви параметри, както е в случая. Конструкцията на извикването на функция, също като другите конструкции, завършва с точка и запетая.

Функцията е отличен инструмент за манипулиране на уеб документи и заради това, че след като веднъж е създадена (декларирана) в един скрипт, тя може да бъде ползвана и в други скриптове без да се налага да я декларирате отново.

Например след горния примерен код, където декларирахме и извикахме 2 пъти функцията mylist(), може да имаме някакъв текст, някакви html тагове и след това да се наложи отново да покажем същия списък с елементи:

<p>
Някакъв текст
</p>

<table>
<tr>
<td>

<php>

</td>
</tr>
</table>

В случая ефекта от горния код ще бъде показването на списъка с 5-те елемента в таблицата. Въпреки че предния скрипт е затворен и в таблицата е сложен нов скрипт, няма проблем да се извика същата функция от първия скрипт без да е необходимо повторното и деклариране във втория скрипт. Ето какъв ще е ефекта от кода в браузъра:
Параметри (аргументи) на функция. Ползване на конструкцията return.

1. Аргументи на функция
В кръглите скоби, които задължително се поставят след всяка функция, може да има един или повече параметъра (наричат се още аргументи на функция). Аргументите на функциите представляват променливи, които съдържат някаква стойност. Стойностите им могат да бъдат както цифрени, така и буквени. Когато са повече от една, тези променливи се отделят чрез запетаи.

Предварително дефинираните (вградените в езика) функции може да имат някои задължителни параметри. Например функцията mail(), чрез която могат да се изпращат съобщения на имейл, трябва задължително да има в кръглите скоби променливи, които съдържат имейл адреса, до който ще се праща съобщението, темата на съобщението, съдържанието на самото съобщение и в допълнителните хедъри - имейл адреса на подателя на съобщението.

Когато програмиста създава собствена функция от него зависи дали ще й зададе някакви аргументи или не.

След като са зададени някакви аргументи в кръглите скоби на функцията те може да се използват в изпълнимия код, който се поставя в големите скоби - {}. В този код може да се зададат някакви ефекти на аргументите или извършване на някакви действия с тях.

Когато на дадена функция се задават някакви променливи във вид на аргументи, на тях още при дефинирането на функцията може да им се зададат някакви стойности, а може да им се зададе стойност и по-късно, при извикването на функцията.

Ако на даден аргумент (променлива) на функция се зададе някаква стойност при дефинирането на функцията, тогава се казва, че това е стойността на аргумента по подразбиране. Ако при извикването на функцията не бъде зададена някаква друга стойност на аргумента, се използва стойността по подразбиране. Ако обаче при извикването на фукцията се укаже друга стойност на аргумента, тогава стойността по подразбиране се пренебрегва автоматично и се работи с новата стойност.


Да направим функция podpis() и да й зададем аргументите $ime и $familia. Ще присвоим на аргумента (променливата) $ime стойността "Иван" и на аргумента (променливата) $familia ще присвоим стойността "Иванов". След това в големите скоби ще укажем при извикване на функцията името и фамилията да се извеждат на екран, като на името ще зададем ефекта "удебелен текст", а на фамилията - "удебелен и наклонен текст":



В този случай се казва, че аргумента $ime има стойност по подразбиране "Иван" и аргумента $familia има стойност по подразбиране "Иванов".

Сега да извикаме функцията чрез кода


<php>


или чрез кода


<php>

Ако изрично не укажем някакви други стойности, както е в случая, ще получим следния резултат:

Иван Иванов

Ако напишем кода:

<php>

ще получим абсолютно същия резултат, т.е. отново Иван Иванов. В този случай не сме извикали втория аргумент, но по подразбиране е указано той да има стойност "Иванов" със съответния текстов ефект, затова при извикване на функцията дори ако напишем само първия аргумент (в случая това е аргумента със стойност малкото име "Иван"), все пак като резултат ще получим показването и на името и на фамилията.

Ако обаче напишем

<php>

като резултат ще получим на екрана думите Петър Иванов. Това е така, защото стойността "Петър" е заместила стойността по подразбиране "Иван". Както беше обяснено, стойностите на аргументите по подразбиране се ползват само ако при извикването на функцията изрично не бъде зададена друга стойност на аргумента. В случая е зададена друга стойност - името Петър. Стойността на аргумента $familia си остава "Иванов", както е зададена по подразбиране, тъй като за този аргумент не е указана друга стойност.

Можем да декларираме същата функция и по следния начин:



Т.е. в този случай не сме задали на аргументите стойности по подразбиране. Тогава каквито и две имена да напишем при извикване на функцията, например

<php>

или

<php>

и т.н. ще получим като резултат извеждане на имената на екран, като първото име ще е с удебелен шрифт, а второто - с удебелен и наклонен. Необходимо е както при декларирането на функцията, така и при извикване на функцията да укажете и двата аргумента, отделени със запетаи, в противен случай PHP ще ви изведе съобщение за грешка.


2. Конструкция return
Конструкцията return се използва във функции, като предназначението й е да върне във вид на стойност резултата от действието, зададено на функцията в големите скоби. Например кодa

<php>

или някакъв по-сложен вариант, например:

<php>

ще ни дадат като краен резултат извеждане на екран на числото 150, тъй като сме задали като действие да се изпълни сбор от двата аргумента на функцията, а след това при извикване на функцията е зададено аргументите да имат стойности съответно 100 и 50. Ако от първия пример премахнем ключовата дума return или от втория пример премахнем реда return $prom3; няма да получим резултат.
Вижте профила на потребителя Изпратете лично съобщение
Sponsor
Sign up for PayPal and start accepting credit 
card payments instantly.
mitkyy
Богат
Богат


Регистриран на: 23 Май 2008
Мнения: 154

152 Домейн Точки

МнениеПуснато на: Нед Сеп 21, 2008 12:35 pm    Заглавие: Отговорете с цитат

Тоя урок ти ли си го писал или си го копирал или превеждал от някъде щото много сложно е написано и или превода не е сполучил или неставаш за учител Very Happy
Вижте профила на потребителя Изпратете лично съобщение
Покажи мнения от преди:   
Безплатни домейни Форуми » IT Уроци Часовете са според зоната GMT + 2 Часа
Създайте нова тема   Напишете отговор
Страница 1 от 1

 
Идете на:  
Не Можете да пускате нови теми
Не Можете да отговаряте на темите
Не Можете да променяте съобщенията си
Не Можете да изтривате съобщенията си
Не Можете да гласувате в анкети
SMS Реклама

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/pipi/public_html/bezplatno/forum/includes/smsads.php on line 13
Към bezplatno.info портал | Галерия | Рецепти | Чат | Цитати | #bezplatno.info @ uniBG | Филми | Футбол | Качване на картинки | orion8800.com