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;

在这个示例中,数组有两个级别,但它可以是更多级别......请给我一个想法或帮助。

4

1 回答 1

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";
}
于 2013-10-31T16:35:12.577 回答