Foros del Web » Programando para Internet » PHP »

imprimir array bidimensional en "niveles"

Estas en el tema de imprimir array bidimensional en "niveles" en el foro de PHP en Foros del Web. este es el codigo de webs modulares de zonaphp.com Código PHP: <?php $conf [ 'home' ] = array(          'archivo'  =>  'home.php' ,          'layout'  =>  LAYOUT_COMUN  ...
  #1 (permalink)  
Antiguo 03/01/2004, 13:09
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 15 años, 1 mes
Puntos: 4
imprimir array bidimensional en "niveles"

este es el codigo de webs modulares de zonaphp.com

Código PHP:
<?php
$conf
['home'] = array(
        
'archivo' => 'home.php',
        
'layout' => LAYOUT_COMUN ); 
$conf['noticias'] = array(
        
'archivo' => 'news.php' );
$conf['leer libro'] = array(
        
'archivo' => 'gbook_leer.php' );
$conf['articulo'] = array(
        
'archivo' => 'art.php' );
$conf['imp_art'] = array(
        
'archivo' => $conf['articulo']['archivo'],
        
'layout' => 'imprimir.php' );
?>
aquí tengo varias "secciones" q más tarde con otro motor genera los módulos.

para imprimir un menu de las secciones use este codigo:

Código PHP:
<?php
ksort
($conf);
foreach(
$conf as $nivel1=>$nivel2) {
echo 
"<a href=\"?zona=".$nivel1."\">".$nivel1."</a><br>";
};
?>
pero ahora me gustaría "dividir" ese archivo de configuracion (el del primer codigo) para q el bucle, o varios bulces, impriman el menu dividido en "niveles", osea todos los links de cierto tipo los agrupe en el nivel 1, tantos otros en el nivel 2 y asi...

cosa q los links me keden asi:

seccion 1
link1
link2
link3
seccion 2
link4
tal y tal....

¿como puedo hacerlo?
__________________
Blog | Tecnosquad
  #2 (permalink)  
Antiguo 04/01/2004, 16:17
 
Fecha de Ingreso: febrero-2003
Ubicación: Viña del Mar
Mensajes: 85
Antigüedad: 14 años, 9 meses
Puntos: 2
yo crearia el arreglo con 2 dimensiones..

algo kmo
Código PHP:
$opciones['seccion1']=array(
   
'home' => array(
        
'archivo' => 'home.php',
        
'layout' => LAYOUT_COMUN ),
   
'noticias' => array(
        
'archivo' => 'news.php' ),
   
'leer libro'] => array(
        
'archivo' => 'gbook_leer.php' ),
);
$opciones['seccion2']=array(
   
'lerolero' => array(
        
'archivo' => 'lerolero.php',
); 
y despues generas el menu con un par de foreach anidados..

SaluDOS
__________________
http://www.zypper.cl/blues.gif
(web-hosting)


Última edición por Zypper; 04/01/2004 a las 16:19
  #3 (permalink)  
Antiguo 04/01/2004, 21:16
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 15 años, 1 mes
Puntos: 4
uy, justo lo q necesitaba,

muchas gracias...

ahora q los bucles me funcionan con esa dimension extra, voy a tener q editar el motor de módulos.

= si lo tengo listo pronto, lo posteo aquí mismo para q se puedan beneficiar, para q se hagan la idea, lo q toy haciendo es mejorar el script de Webestudio acerca de su articulo de web modularizada.

por lo pronto, el código q tengo ahora es este:

Código PHP:
$opciones['seccion1']=array(
   
'home' => array(
        
'archivo' => 'home.php',
        
'layout' => LAYOUT_COMUN ),
   
'noticias' => array(
        
'archivo' => 'news.php' ),
   
'leer libro' => array(
        
'archivo' => 'gbook_leer.php' ),
);
$opciones['seccion2']=array(
   
'lerolero' => array(
        
'archivo' => 'lerolero.php',
));

ksort($opciones);
foreach(
$opciones['seccion1'] as $level1=>$level2) {
echo 
"<a href=\"?zona=".$level1."\">".$level1."</a><br>";
}

foreach(
$opciones['seccion2'] as $level1=>$level2) {
echo 
"<a href=\"?zona=".$level1."\">".$level1."</a><br>";
}
?> 
__________________
Blog | Tecnosquad
  #4 (permalink)  
Antiguo 05/01/2004, 13:19
 
Fecha de Ingreso: febrero-2003
Ubicación: Viña del Mar
Mensajes: 85
Antigüedad: 14 años, 9 meses
Puntos: 2
ojo que con 2 foreach anidados te sale mucho mejor..

onda...
Código PHP:

foreach($opciones as $seccion => $aux1){
    
/*inicio fila*/
    
foreach($aux1 as $level1=>$level2){
      
/*dibujar celda*/
    
}
    
/*fin de la fila*/

asi no tienes que poner un foreach por cada valor de seccion..

SaluDoS
__________________
http://www.zypper.cl/blues.gif
(web-hosting)

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:23.