我有一個儲存像這樣的數組:找到多維數組中的路徑一定ID
[0] => Array
(
[id] => 1
[cat_name] => c1
)
[1] => Array
(
[id] => 2
[cat_name] => c2
[copii] => Array
(
[0] => Array
(
[id] => 5
[cat_name] => c21
)
[1] => Array
(
[id] => 6
[cat_name] => c22
)
)
)
[2] => Array
(
[id] => 3
[cat_name] => c3
[copii] => Array
(
[0] => Array
(
[id] => 7
[cat_name] => c31
[copii] => Array
(
[0] => Array
(
[id] => 9
[cat_name] => c311
)
)
)
[1] => Array
(
[id] => 8
[cat_name] => c32
)
)
)
我試圖找到找到一個途徑,以一定的ID更簡單的方法。 現在我使用foreach遍歷所有可能的數組並找到路由。
例子:
id = 1:
route[0][id]=1,route[0][cat_name]=c1
id = 5:
route[0][id]=2,route[0][cat_name]=c2
route[1][id]=5,route[1][cat_name]=c21
id = 9:
route[0][id]=3,route[0][cat_name]=c3
route[1][id]=7,route[1][cat_name]=c31
route[2][id]=9,route[2][cat_name]=c311
如果我的問題是沒有意義的,我責備它花了試圖找到一個很好的解決方案,它的時間...
我試圖避免遞歸算法,我知道他們,使用它們,但我試圖得到迭代解決方案...如果我不能,然後我卡住了一個遞歸的,但它不是我的第一個選項 – Raz 2009-12-02 09:37:17
如果你的數組深度未知,那麼就我所知,遞歸是唯一的解決方案。即使它的深度不超過3個數組,遞歸仍然是比幾個嵌套循環更乾淨的代碼。 – DisgruntledGoat 2009-12-02 09:47:06
它的最大深度爲3,我現在正在測試遞歸和迭代解決方案的效率... 我會在今天晚些時候用解決方案更新問題 – Raz 2009-12-04 07:12:23