2017-07-14 51 views
1

有沒有辦法在PHP中短路array_ *函數?例如,array_reduce?PHP:array_函數 - 短路?

+0

像打出來內部循環?我不這麼認爲。 –

+1

短路?你能擴大嗎? – Thamilan

+0

http://php.net/manual/en/function.array-reduce.php –

回答

2

不是固有的。請注意文檔array_walk()特別是:

array_walk()不受數組的內部數組指針的影響。 array_walk()將遍歷整個數組,而不管指針 的位置。

鑑於這種情況,你可以在你想要放棄的點拋出異常,有點假,然後捕捉並忽略它:

$array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; 

try { 
    array_walk($array, function($value) { 
     echo "$value\n"; 
     if ($value == 5) { 
      throw new Exception(); 
     } 
    }); 
} catch (Exception $e) { 
} 

產量:

1 
2 
3 
4 
5