2015-03-16 2 views
-2

У меня есть большая проблема для решения u, это убивает меня. См ответ массива:Ошибка печати массива деревьев с php

Array (
[category_id] => 1 
[parent_id] => 0 
[name] => Root Catalog 
[is_active] => 
[position] => 0 
[level] => 0 
[children] => Array 
    (
     [0] => Array 
      (
       [category_id] => 2 
       [parent_id] => 1 
       [name] => AutomaBrasil 
       [is_active] => 1 
       [position] => 1 
       [level] => 1 
       [children] => Array 
        (
         [0] => Array 
          (
           [category_id] => 3 
           [parent_id] => 2 
           [name] => Automação 
           [is_active] => 1 
           [position] => 1 
           [level] => 2 
           [children] => Array 
            (
            ) 

          ) 

         [1] => Array 
          (
           [category_id] => 4 
           [parent_id] => 2 
           [name] => Balança 
           [is_active] => 1 
           [position] => 2 
           [level] => 2 
           [children] => Array 
            (
            ) 

          ) 

         [2] => Array 
          (
           [category_id] => 5 
           [parent_id] => 2 
           [name] => Caixa Registradora 
           [is_active] => 1 
           [position] => 3 
           [level] => 2 
           [children] => Array 
            (
            ) 

          ) 

         [3] => Array 
          (
           [category_id] => 6 
           [parent_id] => 2 
           [name] => Gaveta de Dinheiro 
           [is_active] => 1 
           [position] => 4 
           [level] => 2 
           [children] => Array 
            (
             [0] => Array 
              (
               [category_id] => 10 
               [parent_id] => 6 
               [name] => Acessórios 
               [is_active] => 1 
               [position] => 1 
               [level] => 3 
               [children] => Array 
                (
                ) 

              ) 

             [1] => Array 
              (
               [category_id] => 12 
               [parent_id] => 6 
               [name] => Gaveta de Dinheiro Automática 
               [is_active] => 1 
               [position] => 2 
               [level] => 3 
               [children] => Array 
                (
                ) 

              )                     

            ) 

          ) 

         [4] => Array 
          (
           [category_id] => 7 
           [parent_id] => 2 
           [name] => Impressora 
           [is_active] => 1 
           [position] => 5 
           [level] => 2 
           [children] => Array 
            (
            ) 

          ) 

        ) 

      ) 

    )) 

До тех пор красота, но когда я попробовать «Еогеасп», он возвращает мне это:

1 

0 

Root Catalog 

0 

0 

Array 

Мне нужно, чтобы напечатать полное дерево внутри тегов <ul> <li> , Я использование рекурсивной Еогеасп:

public function createTree($lists) { 

    echo '<ul>'; 
    foreach ($lists as $list) { 


     echo '<li>'; 
     echo $list['name'] . ''; 
     echo '</li>'; 


     if (is_array($list['children'])) { 

      $this->createTree($list['children']); 
     } 
    } 
    echo '</ul>'; 
} 

U может мне помочь? Tks!

+0

Если вы сказали, что есть ошибка, то покажите нам эту ошибку. Добавить error_reporting (E_ALL); ini_set ('display_errors', 1); в верхней части файла. – bcesars

ответ

1

Вы могли бы попытаться обернуть массив выходных детей в литий:

Оберните $this->createTree($list['children'] в echo '<li>'; $this->createTree($list['children']); echo '</li>'

Смежные вопросы