2013-10-31 16 views
0

我有一個數組(分類樹)變換樹類陣列一行

[category_name_en] => en 
[category_name_ru] => ru 
[id_category] => 86314 
[children] => Array 
    (
     [category_name_en] => en 2 
     [category_name_ru] => ru 2 
     [id_category] => 86296 
    ) 

這個我從數據庫得到 - 遞歸

我想要得到這樣的輸出

[category_en] => en > en2; 
[category_ru] => ru > ru2; 

在這個示例數組有兩個層次,但它可以更多層次...請給我一個想法或幫助。

+1

是什麼'連接> en2'代表什麼?例如,如果'en = 1'和'en2 = 2'是否需要'[category_en] => false'? – afuzzyllama

+0

簡單的文字。我只想做出輸出「text> text」的功能 – Viktors

回答

1

一些簡單的像這樣讓你開始:

function flattenChildren(array $array, $key) { 
    $chain = !empty($array['children']) ? flattenChildren($array['children'], $key) : array(); 
    array_unshift($chain, $array[$key]); 
    return $chain; 
} 

foreach ($categories as $category) { 
    echo join(' > ', flattenChildren($category, 'category_name_en')), "\n"; 
}