⊗ppPmRcMA 220 of 447 menu

Rekursioni dhe Strukturat Shumëdimensionale në PHP

Jepet një varg shumëdimensional i një niveli arbitrar fole, për shembull, si ky:

<?php $arr = [ 1, [ 2, 7, 8 ], [ 3, 4, [5, [6, 7]], ] ]; ?>

Siç e shihni, ky varg ka një strukturë komplekse, dhe supozohet se kjo strukturë mund të jetë arbitrare dhe nivelet e foles mund të jenë arbitrarisht të thella.

Le të themi se duam të shfaqim të gjithë elementët primitivë (pra, jo vargje) të vargut tonë. Në këtë rast, për të përsëritur një varg të tillë thjesht nuk do të mund të përdorim sythe, pasi vargu ka një strukturë të parregullt dhe një nivel foleje të panjohur.

Por, për të përsëritur një varg të tillë do të jetë shumë i përshtatshëm të përdoret rekursioni.

Së pari, le të bëjmë një funksion, në të cilin si parametër do të kalojmë vargun tonë, dhe brenda funksionit të bëjmë një cikël për të përsëritur vargun tonë:

<?php function func($arr) { foreach ($arr as $elem) { echo $elem; } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]); ?>

Cikli që kemi krijuar do të përsërisë vetëm elementët e vargut kryesor. Domethënë, fillimisht do të shfaqë 1, pastaj [2, 7, 8], dhe më pas [3, 4, [5, [6, 7]].

Tani, le të ndajmë në cikël elementët primitivë dhe elementët-vargje:

<?php function func($arr) { foreach ($arr as $elem) { if (is_array($elem)) { // elementi - varg } else { // elementi - primitiv echo $elem; } } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]); ?>

Dhe tani le ta bëjmë që nëse elementi ynë është një varg, funksioni të thirret vetë, duke kaluar si parametër atë varg:

<?php function func($arr) { foreach ($arr as $elem) { if (is_array($elem)) { func($elem); } else { echo $elem; } } } func([1, [2, 7, 8], [3, 4, [5, [6, 7]]]]); ?>

Jepet një varg shumëdimensional i një niveli arbitrar foleje, për shembull, si ky:

<?php $arr = [1, 2, 3, [4, 5, [6, 7]], [8, [9, 10]]]; ?>

Duke përdorur rekursion, shfaqni të gjithë elementët primitivë të këtij vargu.

Shqip
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ne përdorim cookie për funksionimin e sajtit, analizën dhe personalizimin. Përpunimi i të dhënave bëhet në përputhje me Politikën e Privatësisë.
prano të gjitha konfiguro refuzo