ПредишенСледващото

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

Да предположим, че имаме една много проста и банална код, което добавя номера:

Тук всичко е много просто, този код ще работи в една програма, където ще пиша. Въпреки това, има ситуации, и доста често, трябва да направим този код работят няколко пъти. Например, ние имаме програма, която се състои от 100 реда код. Искам код, който обобщава броя на отработените три пъти - в началото на програмата в средата и в края. Всичко изглежда да е лесно - три пъти пиша този код в три различни части на програмата. И какво, ако този код добавя две числа, то няма да се състои от три линии и 33 и в същото време ми трябва всеки път нови номера, поставени. Оказва се, че моята програма увеличава размера си, както и аз се дублира един и същи код, но аз не бих го харесва, и го прави никой.

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

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

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

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

Ето една функция, която добавя цифрите:

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

В PHP няма понятие за претоварване на функции. Това означава, че ние не можем да декларира функция два пъти:

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

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

С function_exists (function_name) функция можем да проверим дали има функция, която пишем, или не. Ако има такава функция, той се връща истина, ако не съществува, той се връща невярно:

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

Мога да премине параметри, като променливи:

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

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

Пример: Искам да се покаже, използвайки фразата Здравейте Майк, Здравейте, John, Hello Зак:

Показахме три наздравици с различни нива на заглавия от h1 до h3.

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

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

Обърнете внимание на един нюанс е много важно:

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

Следният код не е валиден:

Тук извикването на функция Не мога да пропусна първия вариант, и то е, че не са задължителни, това е, не мога да пиша извикване на функция, както следва:

Така че бъдете внимателни - най-напред там не са задължителни параметри и едва тогава задължителни.

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

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

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

Нека да се справят по-нататък. Погледнете този код и да ми каже какво ще покаже в брой 9 ред:

Правилният отговор е Майк. Защо? Да, защото променлива, която е функция и променлива, която е извън вътрешността на тялото - са различни променливи.

В програмирането, има такова нещо като "обхват" - глобално и локално. Локално - това е променлива, която е вътре функцията PHP, и то не е достъпна от външната страна.

Ние можем да декларираме променлива в тялото на функцията, но и да го наречем, или се отнасят до това не е функция - не може.

Global обхват - това са променливите, които са обявени извън PHP функции и те са достъпни от всяка част на кода.

Но проблемът е, че ние все още трябва по някакъв начин да се отнасят до локална променлива в рамките на функцията. Какво да се прави? Има опция:

Декларирам променлива в рамките на една функция с помощта на глобалната ключова дума.

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

Нека сега поговорим точно това! Когато се създаде функция, те са по принцип трябва да направим нещо, за да се върне. Например, ние създадохме някои функция, тя трябва да се върне на работа и в резултат на тяхната работа. До този момент ние сме се записва в тялото на функцията, например, на изхода на резултат. Въпреки това, може да искате функцията се е върнал резултати, а след това вече сме решили какво да правят с него. Вижте какво искам да кажа: ние създаваме функция, например, getNumberSum ($ numb1, $ numb2), който извършва аритметични операции с числа, като ги добавите. Вътре в тази функция, ние извършване на изчисленията. Но аз не знам дали искам да се покаже резултатът от изчислението директно в браузъра или да използвате този резултат на различно място.

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

Сега прекарах ТАКИВА резултат функция на променливите $ ВЕИ = getNumberSum (2,3) и след това ще донесе тази променлива:

Мога да направя още по-лесно: просто печатат на браузъра, който ми даде назад функция:

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

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

Нашата функция ще вземе в допълнение към опция от менюто ($ меню) е друг параметър, наречен $ вертикално, по подразбиране, това е вярно, това е, менюто ще бъде изтеглен или вертикално (вярно) или хоризонтално (невярно).

Тук е решение на нашия проблем:

Евгени Андреев

Новини
Knights етер теория

Свързани статии

Подкрепете проекта - споделете линка, благодаря!