2016-09-07 61 views
1

我的數組看起來像這樣。如何在從數據庫中提取數據並將其轉換爲樹形結構後,將樹結構轉換爲平面數組php

array(1) { 
    [6]=> 
    array(1) { 
    ["sub_id"]=> 
    array(3) { 
     [15]=> 
     array(1) { 
     ["sub_id"]=> 
     array(0) { 
     }  
     } 
     [16]=> 
     array(1) { 
     ["sub_id"]=> 
     array(0) { 
     } 
     } 
     [21]=> 
     array(1) { 
     ["sub_id"]=> 
     array(0) { 
     } 
     }  
    }  
    } 
} 

,但我想要的只是按鍵的平板陣列 陣{6,15,16,21}

+0

use array_keys $ ss = array_keys($ array_values);的print_r($ SS); – JYoThI

+0

只讀取第一個元素,忽略子元素 – user1675595

+0

使用帶SPL的[第一個答案](http://stackoverflow.com/a/1320259/3859027),但使用'RecursiveIteratorIterator :: SELF_FIRST'標誌 – Ghost

回答

0

我已經爲你的輸出功能。請試試這個。

$result = get_elements($array); 

function get_elements($array) { 
    $result = array(); 
    foreach($array as $key => $row) { 
     $result[] = $key; 
     if(count($row['sub_id']) > 0) { 
      $result = array_merge($result,get_elements($row['sub_id'])); 
     } 
    } 
    return $result; 
} 
+0

真棒! !謝啦兄弟 – user1675595