Foros del Web » Programando para Internet » PHP »

Warning con foreach

Estas en el tema de Warning con foreach en el foro de PHP en Foros del Web. Amigos buen dia, se me presento un problema en localhost y en web. Tengo una funcion con un Foreach. pero me genera el siguiente warnirng: ...
  #1 (permalink)  
Antiguo 15/05/2012, 11:58
 
Fecha de Ingreso: diciembre-2011
Mensajes: 90
Antigüedad: 12 años, 4 meses
Puntos: 0
Warning con foreach

Amigos buen dia,
se me presento un problema en localhost y en web. Tengo una funcion con un Foreach. pero me genera el siguiente warnirng:

Warning: Invalid argument supplied for foreach() in C:\cursophp\agenda4.php on line 12

esta es la funcion y la forma de emplearla:

Código PHP:
//funcion, el warning lo da en la linea de foreach($destino[$If] as $k => $igual)
function buscar ($destino$If$a) { 
   foreach(
$destino[$If] as $k => $igual){
        if(
$a === $igual){
        return 
true;
            } 
    }
    return 
false;
}

//la usamos de la siguiente manera

for($If=1;  ;$If++){
     if(!
$destino[$If][$Ic]){
     
$Busca buscar($destino$If$a);
     if(
$Busca === false)

     
$destino[$If][$Ic] = $a;
      break;

He estado dandole vueltas a este asunto y agradeceria su apoyo.

Saludos!
  #2 (permalink)  
Antiguo 15/05/2012, 12:01
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Warning con foreach

Ese error sucede cuando tratas de recorrer con foreach una variable que no es un arreglo, primero revisa que hay en $destino para verificar.
  #3 (permalink)  
Antiguo 15/05/2012, 15:30
 
Fecha de Ingreso: diciembre-2011
Mensajes: 90
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Warning con foreach

lo que pasa es que la variable $destino es una matriz vacia por que ahi metere los valores que resulten "false" del IF. y pues cuando verifica el primer elemento pues la variable esta vacia y no es un array.

Sabes como podria definir una martriz vacia o como solucionar este warning?
  #4 (permalink)  
Antiguo 15/05/2012, 15:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Warning con foreach

Matriz vacía.
Código PHP:
$foo = array(); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 15/05/2012, 16:25
 
Fecha de Ingreso: diciembre-2011
Mensajes: 90
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Warning con foreach

Pateketrueke mil gracias por tu ayuda, lo hice de la siguiente manera porque manejo es un array multidimensional.

Código PHP:
for ($Array_Vacio=0$Array_Vacio<= $filas_del_array$Array_Vacio++){
$destino[$Array_Vacio] = array();

Problema solucionado! Muchisimas gracias!
Saludos!


Etiquetas: foreach, warning
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 10:38.