簡體   English   中英

具有動態循環數的 foreach 循環

[英]foreach loops with dynamic number of loops

目前我正在循環 4 個 foreach 循環:

foreach ($level0_array as $level0_key => $level1_array) {
    //do something
    foreach ($level1_array as $level1_key => $level2_array) {
        //do something
        foreach ($level2_array as $level2_key => $level3_array) {
            //do something
            foreach ($level3_array as $level3_key => $level4_value) {
                //do something
            }
        }
    }
}

如果此循環在 function 內並且應該獲取要動態循環的級別數,是否可以執行此操作? (假設在這種情況下$level0_array中有足夠的級別)

IE

function ($level0_array, $number_of_levels) {
    // loop. . .
}

是的,有,它被稱為遞歸

function loopThroughLevels($level_array, $number_of_levels_left) {
     foreach ($level_array as $level_key => $level_value) {
         // do something
         if (is_array($level_value) &&
             ($number_of_levels_left > 0)) {
             loopThroughLevels($level_value, $number_of_levels_left - 1);
         }
     }
}

這里 function 再次調用自己,循環遍歷數組的子層級,只要有一個數組可以循環,並且還有你想要循環的層級。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM