0
我有一個遞歸函數,它執行大量的函數和一些數據庫調用,以及不創建一些很酷的東西。我想將每個調用的結果保存到一個數組中。從遞歸函數創建平面數組而不是展平後
所以我這樣做了,我得到了一個多維數組,其結構與函數的結果類似。它看起來像這樣:
Array
(
[0] => 2507
[1] => Array
(
[0] => 2508
)
[2] => 2073
[3] => Array
(
[0] => 2397
)
)
我可以輕鬆地拼合此,使用PHP 5.3的array_walk_recursive
。
但是,我寧願我不需要在原來的函數之後調用另一個函數,因爲這似乎是多餘的。
如何從每次調用「創建」數據的遞歸函數創建平面數組?
我試圖截斷我的遞歸函數有點...
function get_children() {
$leaf = new array();
$results = database_call();
foreach($results as $res) {
$leaf[] = $res;
// do tons of stuff not included
if($res->children == 1) {
$leaf[] = get_children();
}
}
return $leaf;
}
$i_wish_this_was_flat = get_children();
['array_merge']( http://php.net/manual/en/function.array-merge.php)連接['+'](http://www.php.net/manual/en/language.operators.array.php)做聯合 – cske
@cske當然 - 最近並沒有做太多的PHP。改變。 – Howard
噢。真棒!謝謝! –