Foros del Web » Programando para Internet » PHP »

foreach que se resiste...

Estas en el tema de foreach que se resiste... en el foro de PHP en Foros del Web. Hola: tengo un problema, que no puedo resolver y es por eso que lo expongo aquí... les dejo parte del código dond eestá el error: ...
  #1 (permalink)  
Antiguo 17/07/2005, 19:56
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
foreach que se resiste...

Hola:

tengo un problema, que no puedo resolver y es por eso que lo expongo aquí...

les dejo parte del código dond eestá el error:

Código PHP:
     foreach($_SESSION["carrito"] as $key => $value){
     
$temp=explode(',',$_SESSION["carrito"][$key]);
        if (
$prod==$temp[0]){
        
$cant=$temp[1]+1;
        
$_SESSION["carrito"][$key]="$prod,$cant";
        
$existe="SI";
        }
     } 
El código funciona perfectamente, solo que el servidor me tira el siquiente mensaje de error la primera vez que ejecuto el Script:

"Warning: Invalid argument supplied for foreach() in /home/www/autorasenred.com/func.php on line 674"

en la linea 674 esta el foreach pero el problema es que no se cómo hacer para que ese error no aparezca...

Me podrian dar alguna ayuda???

Les dejo un saludo y gracias de antemano...
  #2 (permalink)  
Antiguo 18/07/2005, 00:04
Avatar de gustavoang  
Fecha de Ingreso: julio-2003
Ubicación: Valencia - Venezuela
Mensajes: 253
Antigüedad: 20 años, 9 meses
Puntos: 1
Hola.

Eso es porque $_SESSION["carrito"] no es una matriz.

Saludos.
__________________
Gustavo Narea.
Venezuela.
  #3 (permalink)  
Antiguo 18/07/2005, 02:22
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
Puedes hacer una inicialización de la variable:
Código PHP:
if(!isset($_SESSION['carrito'])){
   
$_SESSION['carrito'] = array();

O sea, si no existe la variable (pasa la primera vez que se ejecuta), la inicializa en un array vacío.
De esa manera el foreach lo reconocerá como array y desaparecerá el error.

Saludos
  #4 (permalink)  
Antiguo 18/07/2005, 09:53
 
Fecha de Ingreso: enero-2005
Ubicación: Salta - Argentina
Mensajes: 322
Antigüedad: 19 años, 3 meses
Puntos: 7
Muchas gracias, voy a ponerme a probar, no se me ocurrio eso de inicializarla, graacias..
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 01:02.