Ver Mensaje Individual
  #5 (permalink)  
Antiguo 05/08/2015, 09:11
Avatar de pateketrueke
pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Crear lista ul-li desde cualquier nodo

El asunto es que no debes forzar las etiquetas <ul><li> con lógica fuera de la función, la única cosa que es consistente es que una lista de elementos siempre regresará la misma estructura.

Código PHP:
Ver original
  1. function re($list) {
  2.   $html = [];
  3.  
  4.   // apretura, siempre
  5.   $html []= '<ul>';
  6.  
  7.   // items
  8.   foreach ($list as $item) {
  9.     // lógica para recursividad (lista anidada)
  10.     if (is_array($item)) {
  11.       $html []= '<li>' . re($item) . '</li>';
  12.     } else {
  13.       // sólo un item más
  14.       $html []= '<li>' . $item . '</li>';
  15.     }
  16.   }
  17.  
  18.   // cierre, siempre
  19.   $html []= '</ul>';
  20.  
  21.   // es mejor un return que un echo
  22.   return join("\n", $html);
  23. }
  24.  
  25. echo re([1, 2, [5, 6, [7, 8]], 3, 4]);
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.