⊗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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне