⊗ppPmRcInr 217 of 447 menu

PHP да рекурсия билан ишлаш

Дasturlashda şuṇдай тушунча мавжудки, рекурсия - бу функция ўзини ўзи чақирганидир. Келгила, мисолда кўрамиз. Рекурсия ёрдамида 1 дан 10 гача бўлган рақамларни чиқарайлик:

<?php $i = 1; function func() { global $i; echo $i; $i++; if ($i <= 10){ func(); // бу ерда функция ўзини ўзи чақирмоқда } } func(); ?>

Келгила, бу код кандай ишлашини муҳокама қилайлик.

Бизда глобал $i ўзгарувчиси ва func функцияси мавжуд бўлиб, унинг ичида консолга $i ўзгарувчисининг қиймати чиқарилади, сўнгра ++ амали бажарилади.

Aгар бизнинг $i ўзгарувчимиз 10 дан кичкина ёки тенг бўлса, функция қайтадан чақирилади. $i ўзгарувчиси глобал бўлгани сабабли, функциянинг ҳар битта янги чақирилишида унда $i ўзгарувчисининг олдинги чақириқда белгиланган қиймати мавжуд бўлади.

Натижада функция $i 10 дан катта бўлгунча ўзини чақириб туради.

Эътиборингизга олинг, бизнинг ҳолимизда функцияни if сиз ишга тушириб бўлмайди - агар бу амал бажарилса, функцияларнинг чексиз чақирилиши вужудга келади.

Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш