Foros del Web » Programando para Internet » PHP »

problema con bucle q genera un array

Estas en el tema de problema con bucle q genera un array en el foro de PHP en Foros del Web. Código PHP: <?php  echo "TODAS LAS SECCIONES<br>" ; if ( $carpeta_zonas  =  opendir ( './zonas' )) {     while ( false  !== ( $file  =  readdir ( $carpeta_zonas ))) {          if ( $file  !=  ...
  #1 (permalink)  
Antiguo 14/12/2003, 17:29
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 5 meses
Puntos: 4
problema con bucle q genera un array

Código PHP:
<?php 
echo"TODAS LAS SECCIONES<br>";
if (
$carpeta_zonas opendir('./zonas')) {
    while (
false !== ($file readdir($carpeta_zonas))) { 
        if (
$file != "." && $file != "..") { 
    echo 
"$file<br>";
    
$zona[] = $file;
    
$secciones $zona[] = $file;
        } 
    }
    
closedir($carpeta_zonas); 
}
    echo 
"<hr>";
    
$todas_las_zonas $zonas $file;
    echo 
"$secciones";
    echo 
"<hr>";
como lo dice el bucle, captura todos los archivos de la carpeta "zonas" y los imprime en el array "zona"
para probar q las variables entren en el array puse ese echo cerca.

el problema es q cuando kiero imprimir todas las variables dentro del array en cualkier parte del script q no sea en el bucle, solo imprime el ultimo dato,

¿como hago para guardar todos los datos del array en una variable q pueda ocupar despues fuera dle bulce y de la condicion?
__________________
Blog | Tecnosquad
  #2 (permalink)  
Antiguo 14/12/2003, 17:49
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
En realidad no sé si entendí bien. Pero el array que guardas está disponible en todo el script, no sólo dentro del bucle. El problema (creo) está en la línea:
Código PHP:
$secciones $zona[] = $file;
$todas_las_zonas $zonas $file
esta´haciendo una doble asignación que no entiendo, y luego imprimes la variable $secciones, que evidentemente tiene sólo el último valor de $file. Prueba algo así:
Código PHP:
echo"TODAS LAS SECCIONES<br>";
if (
$carpeta_zonas opendir('./zonas')) {
    while (
false !== ($file readdir($carpeta_zonas))) { 
        if (
$file != "." && $file != "..") { 
    echo 
"$file<br>";
    
$zona[] = $file;
        } 
    }
    
closedir($carpeta_zonas); 
}
    echo 
"<hr>";
    foreach(
$zona as $seccion){
          echo 
$seccion."<br>";
    }
    echo 
"<hr>"
  #3 (permalink)  
Antiguo 14/12/2003, 17:49
 
Fecha de Ingreso: marzo-2003
Ubicación: Argentina
Mensajes: 49
Antigüedad: 21 años, 1 mes
Puntos: 0
Código PHP:
foreach ($zona as $val)
{
    
// Aca va el código que necesitas, teniendo en cuenta que $val
    // es el nombre de una zona
    
echo "Zona: $val<br>\n";

  #4 (permalink)  
Antiguo 15/12/2003, 06:29
Avatar de ArrauKano  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago
Mensajes: 664
Antigüedad: 21 años, 5 meses
Puntos: 4
vale, eso era lo q no entendia como hacerlo, es q no conocia foreach()
__________________
Blog | Tecnosquad
  #5 (permalink)  
Antiguo 16/12/2003, 20:38
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Más info del foreach:

http://www.rinconastur.com/php/php41.php

Y lo mejor.. en el propio manual:

http://www.php.net/manual/es/control...es.foreach.php

Saludos
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 14:13.