Foros del Web » Programando para Internet » PHP »

Array

Estas en el tema de Array en el foro de PHP en Foros del Web. Buenas amigos, no he podido resolver el siguiente problema, tengo un array de n posiciones y necesito sumar de cuatro posiciones en cuetro posiciones. De ...
  #1 (permalink)  
Antiguo 23/07/2014, 22:55
 
Fecha de Ingreso: septiembre-2012
Ubicación: Norte de Santander
Mensajes: 127
Antigüedad: 11 años, 7 meses
Puntos: 1
Pregunta Array

Buenas amigos, no he podido resolver el siguiente problema, tengo un array de n posiciones y necesito sumar de cuatro posiciones en cuetro posiciones. De la siguiente manera:

$res = array[0]+array[1]+array[2]+array[3] y

luego:

$res = array[4]+array[5]+array[6]+array[7] y asi hasta sumar las n posiciones.
  #2 (permalink)  
Antiguo 24/07/2014, 03:34
 
Fecha de Ingreso: julio-2014
Mensajes: 13
Antigüedad: 9 años, 9 meses
Puntos: 0
Respuesta: Array

Hola, yo dira de solucionar esto con un bucle do,

$res =array("0","1"...)
$n = array_count_values($res)
do{
array_push($res, "2", "3");
}while($n < n)

Prueba can algo asi, espero ser de ayuda :D
  #3 (permalink)  
Antiguo 24/07/2014, 03:49
 
Fecha de Ingreso: enero-2011
Ubicación: Barcelona
Mensajes: 36
Antigüedad: 13 años, 3 meses
Puntos: 5
Respuesta: Array

No se si te referias a algo asi:

Código PHP:
//Si simpre son multiples de 4 o no te interesa sumar los últimos dígitos si no llegan a formar un grupo de 4:

$arr=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17);
$numSumas=floor(count($arr)/4);
$arrResults=array();
for(
$i=0$i<$numSumas$i++){
    
$arrResults[]=$arr[0+$i*4]+$arr[1+$i*4]+$arr[2+$i*4]+$arr[3+$i*4];
}
print_r($arrResults); //Array ( [0] => 10 [1] => 26 [2] => 42 [3] => 58 )

//Si no son multiples de 4 y queires sumar los últimos digitos aunque no lleguen a 4:
$arr=array(1,2,3,4,5,6,7,8,9,10,11,12,13,14);
$numSumas=ceil(count($arr)/4);
$arrResults=array();
for(
$i=0$i<$numSumas$i++){
    
$num1=isset($arr[0+$i*4])?$arr[0+$i*4]:0;
    
$num2=isset($arr[1+$i*4])?$arr[1+$i*4]:0;
    
$num3=isset($arr[2+$i*4])?$arr[2+$i*4]:0;
    
$num4=isset($arr[3+$i*4])?$arr[3+$i*4]:0;
    
$arrResults[]=$num1+$num2+$num3+$num4;
}
print_r($arrResults); //Array ( [0] => 10 [1] => 26 [2] => 42 [3] => 27 ) 

Etiquetas: Ninguno
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 03:32.