Foros del Web » Programando para Internet » PHP »

Arreglos asociativos

Estas en el tema de Arreglos asociativos en el foro de PHP en Foros del Web. Espero me puedan ayudar, necesito separar los diferentes porcentajes de IEPS en un arreglo, para despues poderlo imprimir en un reporte por porcentaje y cantidad. ...
  #1 (permalink)  
Antiguo 06/11/2014, 13:34
 
Fecha de Ingreso: diciembre-2013
Ubicación: Distrito Federal
Mensajes: 17
Antigüedad: 10 años, 4 meses
Puntos: 0
Pregunta Arreglos asociativos

Espero me puedan ayudar, necesito separar los diferentes porcentajes de IEPS en un arreglo, para despues poderlo imprimir en un reporte por porcentaje y cantidad.

Estoy manejando 3 arreglos, es que guarda los ieps por factura, ieps por cliente e ieps generales.

$ieps_cant = $Result['iepscant'];
$key = $Result['ieps'];
//arreglo ieps factura
if (isset($ieps_fact)){ //si el arreglo existe
foreach($ieps_fact as $indice=>$valor){
if ($indice == $key) $flag = 1;
} //foreach
} //if(isset)
($flag) ? $ieps_fact[$key] += $ieps_cant : $ieps_fact[$key] = $ieps_cant;

//arreglo ieps cliente
if (isset($ieps_cust)){ //si el arreglo existe
foreach($ieps_cust as $indice=>$valor){
if ($indice == $key) $flag = 1;
} //foreach
} //if(isset)
($flag) ? $ieps_cust[$key] += $ieps_cant : $ieps_cust[$key] = $ieps_cant;

//arreglo ieps general
if (isset($ieps_gtotal)){ //si el arreglo existe
foreach($ieps_gtotal as $indice=>$valor){
if ($indice == $key) $flag = 1;
} //foreach
} //if(isset)
($flag) ? $ieps_gtotal[$key] += $ieps_cant : $ieps_gtotal[$key] = $ieps_cant;


pero al momento de hacer la consulta con de un cliente a otro me marca los siguientes errores.

Invalid argument supplied for foreach()

Cannot use a scalar value as an array in

No se a que se deba esto.
Otra duda que tengo es como puedo borrar los datos que traen los arreglos para que no haya problema con los nuevos datos
  #2 (permalink)  
Antiguo 06/11/2014, 15:44
 
Fecha de Ingreso: abril-2012
Mensajes: 124
Antigüedad: 12 años
Puntos: 3
Respuesta: Arreglos asociativos

Intenta con algo así:
Código PHP:
Ver original
  1. if (isset($ieps_fact) AND is_array($ieps_fact)){
  2. ...
__________________
Mi web de programación en PHP en construcción, claro. Un dia de esos pongo algo.

Última edición por danicasas; 06/11/2014 a las 16:15
  #3 (permalink)  
Antiguo 06/11/2014, 18:05
 
Fecha de Ingreso: diciembre-2013
Ubicación: Distrito Federal
Mensajes: 17
Antigüedad: 10 años, 4 meses
Puntos: 0
Respuesta: Arreglos asociativos

Ya lo probé así, pero sigo teniendo el mismo problema.
  #4 (permalink)  
Antiguo 06/11/2014, 19:16
 
Fecha de Ingreso: abril-2012
Mensajes: 124
Antigüedad: 12 años
Puntos: 3
Respuesta: Arreglos asociativos

Código PHP:
Ver original
  1. var_dump($ieps_fact);
Así verás lo que contiene la variable antes de llegar al bucle, puede que no sea lo que esperas.
__________________
Mi web de programación en PHP en construcción, claro. Un dia de esos pongo algo.
  #5 (permalink)  
Antiguo 13/11/2014, 11:19
Avatar de Monikas  
Fecha de Ingreso: noviembre-2014
Mensajes: 5
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Arreglos asociativos

Lo mismo en este post sobre array asociativo tienes la solución, está esplicado muy sencillo, [URL="http://www.webreunidos.es/blog/array-asociativo-php/"]Ir al enlace[/URL]

Última edición por Monikas; 13/11/2014 a las 11:25
  #6 (permalink)  
Antiguo 13/11/2014, 11:28
Avatar de GeekGirl  
Fecha de Ingreso: julio-2014
Mensajes: 423
Antigüedad: 9 años, 9 meses
Puntos: 44
Respuesta: Arreglos asociativos

Proba declarar tus arrays como un array vacío antes de ponerles contenido:

Código PHP:
$ieps_fact = array();
// Aca cargar el contenido 

Etiquetas: arreglos, asociativo, foreach
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 22:03.