Функциялар –бу дастурлашнинг асоси ҳисобланади. Дастурлашнинг барча тилларида мавжуддир. Функциялар орқали кодларнитартиблаш, дастурнинг ишлаш тезлигини ошириш вакодларни ихчамлаштириш каби ютуқларга эришиш мумкин. Бу мақолада php веб дастурлаш тилида ишлатиладиган функцияларни иложи борича барча хусусий ҳолларини кўрсатиб беришга ҳаракат қилдим. Асосан мисоллар ёрдамида фукцияларни ишлашини очиб беришга уриниб кўрдим.
Демак фикрларингизни жамланг бошлаймиз. Мақолани тўлиқ ўқиб тугатмагунча, бошқа ишларга чалғиманг. Чунки жуда кўп дастурларнинг асосифункциялардир. Кеттик… Функциянинг тузилиши:
Function функция_номи(параметр1, параметр2,…) { оператор_1; оператор_2; ………………. } Функцияни чақириш:
Функция_номи(параметр_1, параметр_2);
Мисол_1 function printMenu($name) { print («====================== «); print(«$name «); print («====================== «); } //функцияни чақирамиз: $names = «Hello users»; printMenu($names); printMenu(«Hello»); ?> Натижа:
====================== Hello users ====================== ====================== Hello ====================== Функцияни параметри қанча бўлса, функцияни чақиришда ҳам шунча параметр бериш лозим. Функция яратилгандан сўнг унга бир неча бор мурожаат қилиш мумкин бўлади.
Мисол_2 $num2 «); if($num1>$num2) print(«true «); else print(«false «); } print_m(10, 435); print_m(3240, 2335); print_m(sdf23, 45); print_m(45); ?>
Натижа: 10 > 435 false 3240 > 2335 true sdf23 > 45 falseWarning: Missing argument 2 for print_m(), called in Z:\home\localhost\www\misol.php on line 14 and defined in Z:\home\localhost\www\misol.php on line 3 45 > true
4— қиймат хато бермоқда, чунки функциянинг2 та параметри бор. Функцияни чақиришда фақат битта параметр билан чақирилмоқда. Агар функция ичида функция мавжуд бўлса, 2— функцияни(функция ичидаги функцияни) 1 функцияни чақирмасдан олдин ишлатиб бўлмайди. Хатолик содир бўлади.
Мисол_3
Натижа:
first second Функция ташқарисида эълон қилинган ўзгарувчи, функция ичидаги ўзгарувчи билан бир хил номга эга бўлиб қолса, функцияни чақирганда функция ичидаги ўзгарувчи, функция ишини тугатгандан сўнг функция ташқарисида эълон қилинган ўзгарувчи ишлайди.
Мисол_4 $i=10; function change() { $i = 5; echo «i=$i «; } change(); echo «i=$i»; ?> Натижа:
i=5 i=10 Функцияда глобал ўзгарувчини эълон қилиш орқали, функция ташқарисида ҳам шу глобал ўзгарувчини функция ичидагиқиймати билан ишлатиш мумкин.
Мисол_5 $g = 5; Function ff() { global $g; $g = 10; } ff(); echo $g; Натижа:
10 Php да статик ўзгарувчи(static). Функция ўз ишини тугатгандан сўнг, функция ичида эълон қилинган статик ўзгарувчи ўчиб кетмайди, аксинча функциянинг кейинги чақирилишигача сақланиб қолади. Бу ўзгарувчини биланбоғлиқ мисолни кўрамиз:
Мисол_6 Function f1(){Static $x; $x=$x 1; Echo “$x ”; } For($i=0;$i F1(); Натижа:
1 2 3 4 5 >
Мисол_7 Function myS($n) { Return $n*$n; } $value = myS(4); Echo $value; Натижа:
16
Manba: Nuriston.lark.ru
|