为什么我们在这段代码中使用 [continue] 运算符?

问题描述

我有一个代码,我想知道您为什么在其中使用 [continue] 运算符 注意:我知道 contiue 的用法是什么,但我想知道为什么我们要在此代码中大量使用它,因此请不要拒绝该问题或使其重复,因为我很高兴

function flatten_array(array $items,array $flattened = []){
foreach($items as $item){
   if(is_array($item)){
       $flattened = flatten_array($item,$flattened);
       continue;
   }
   $flattened[] = $item;
}
return $flattened;

}

解决方法

continue; 语句确保这部分:

$flattened[] = $item;

不对本身是数组的子项执行。

编写相同函数的更熟悉的方法是:

function flatten_array(array $items,array $flattened = [])
{
    foreach ($items as $item) {
        if (is_array($item)) {
            $flattened = flatten_array($item,$flattened);
        } else {
            $flattened[] = $item;
        }
    }

    return $flattened;
}