2017-01-31 55 views
1

我有此數組:用PHP數組創建列表(UL,LI)

Array ( 
    [0] => 17-GUIDO HUMBERTO -3 
    [1] => 
    Array ( 
     [0] => 2-José-3 
     ) 
    [2] => 
    Array ( 
     [0] => 
      Array ( 
       [0] => 18-juan andres-3 
       ) 
     ) 
) 

我試圖把該數組中的列表,包括UL李這樣的:

  • 17 GUIDO HUMBERTO -3
    • 2-何-3-
      • 18娟安德烈斯 - 3

我不知道該怎麼做,我不知道如果數組是正確的,請我需要幫助。謝謝!

+0

的可能的複製(http://stackoverflow.com/問題/ 3684463/PHP-的foreach-與嵌套陣列) – Eoghan

回答

0

你需要一個被稱爲「遞歸」的東西,當你有一個調用自身的函數,例如:?使用嵌套數組PHP的foreach]

<?php 
$arr = array(
    '17-GUIDO HUMBERTO -3 ', 
    array( 
     '2-José-3' 
    ), 
    array(
     array(
      '18-juan andres-3' 
     ) 
    ) 
); 


function listArr($arr) { 
    $html = '<ul>'; 
    foreach ($arr as $item) { 
     if (is_array($item)) { 
      $html .= listArr($item); // <<< here is the recursion 
     } else { 
      $html .= '<li>' . $item . '</li>'; 
     } 
    } 

    $html .= '</ul>'; 
    return $html; 
} 

echo(listArr($arr));