2016-04-09 2 views
0

$items = array ('page 1', 'page 2', 'page 3', 'page 4');PHP, вложенный список уль/li из списка строк

<ul> 
    <li>page 1 
     <ul> 
      <li>page 2 
       <ul> 
        <li>page 3 
         <ul> 
          <li>page 4</li> 
         </ul> 
        </li> 
       </ul> 
      </li> 
     </ul> 
    </li> 
</ul> 

У меня есть простой список вещей, и я хотел бы иметь его вложенный список уль/li. Как достичь этого?

+0

Вы уверены, что это то, что вы хотите? Вы создаете списки из одного элемента для каждого из ваших элементов. Это не выглядит правильным. – Nico

+0

Что вы хотите, чтобы на последней странице было похоже? – RGriffiths

ответ

0

Вы можете легко справиться с этой помощью функции и рекурсия, см. пример ниже:

$items = array ('page 1', 'page 2', 'page 3', 'page 4'); 
recursive($items); 
function recursive($items) 
{ 
    if (is_array($items) && !empty($items)) { 
     echo "<ul><li>"; 
     foreach ($items as $item) { 
      echo array_shift($items); 
      recursive($items); 
      break; 
     } 
     echo "</li></ul>"; 
    } 
} 

Демонстрация: https://eval.in/550199

0

Нормальный <ul><li> можно achive с помощью этого:

echo "<ul>"; 
foreach($arr as $kVal){ 
echo "<li>".$kVal."</li>"; 
} 
echo "</ul>"; 

Но в вашем сценарии

это можно было бы сделать что-то вроде этого:

foreach($arr as $kVal){ 
    echo "<ul><li>".$k; 
} 
Смежные вопросы