⊗ppPmRcEP 218 of 447 menu

PHP-ում պարամետրով ռեկուրսիա

Եկեք ռեկուրսիայի միջոցով հաջորդաբար արտածենք զանգվածի տարրերը: Թող զանգվածը սկզբում փոխանցվի ֆունկցիայի պարամետրին:

<?php func([1, 2, 3]); ?>

Եկեք առայժմ առանց ռեկուրսիայի՝ օգտագործելով array_shift ֆունկցիան, արտածենք զանգվածի բոլոր տարրերը հերթով:

<?php function func($arr) { var_dump(array_shift($arr)); // կարտածի 1 var_dump($arr); // կարտածի [2, 3] - զանգվածը փոքրացել է var_dump(array_shift($arr)); // կարտածի 2 var_dump($arr); // կարտածի [3] - զանգվածը փոքրացել է var_dump(array_shift($arr)); // կարտածի 3 var_dump($arr); // կարտածի [] - զանգվածը դատարկ է } func([1, 2, 3]); ?>

Ինչպես տեսնում եք, array_shift ֆունկցիան հանում և վերադարձնում է զանգվածի առաջին տարրը, մինչդեռ ինքը՝ զանգվածը, փոքրանում է այդ տարրով:

Հիմա եկեք օգտագործենք ռեկուրսիա:

<?php function func($arr) { var_dump(array_shift($arr)); var_dump($arr); if (count($arr) !== 0) { func($arr); } } func([1, 2, 3]); ?>

Իրականում, իհարկե, ավելի հեշտ է զանգվածի տարրերը դուրս բերել ցիկլով: Բերված օրինակները պարզապես ցույց են տալիս ռեկուրսիայի աշխատանքը պարզ օրինակներով (ոչ կյանքից վերցված): Ավելի օգտակար կիրառական ռեկուրսիայի օրինակներն ուղղակի ավելի բարդ են, մենք դրանք կվերլուծենք մի փոքր ավելի ուշ:

Տրված է զանգված.

<?php $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5]; ?>

Օգտագործելով ռեկուրսիա, արտածեք այս զանգվածի տարրերը էկրանին:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել