2012-06-19 108 views
2

比方說,我有這樣的結構,在數組:應用功能陣列節點,直到不能陣列節點陣列

Array 
(
    [0] => Array 
     (
      [0] => Heading1 
      [1] => Array 
       (
        [0] => Array 
         (
          [0] => 2 
          [1] => Heading2.1 
         ) 

        [1] => Array 
         (
          [0] => 2 
          [1] => Heading2.2 
         ) 

       ) 

     ) 

    [1] => Array 
     (
      [0] => Heading1.2 
     ) 

) 

如何去應用功能只對數組元素持有heading2.1和標題2.2?

我想應用的函數可能會嵌套數組甚至更進一步。我怎樣才能讓我的函數也能在這些新創建的數組上運行?然後創建數組,直到第二個最深層次上沒有數組爲止?

回答

2

循環遍歷它,檢查它是否是一個使用is_array()函數的數組,如果是,則應用您的函數。

+0

然後對於問題的第二部分,我該如何檢查第二個最深層次上是否有數組元素? –

1

一個天真的遞歸不會做,和重新運行遞歸是一個雙重否定。你想在這裏使用的是topological sorting

在計算機科學中,拓撲排序(有時縮寫topsort或toposort)或一個有向圖的拓撲排序是其頂點的線性排序,使得對於每一個邊緣UVù來在排序前v

+0

+1 Nice Grammar ..... :) – Baba