Foros del Web » Programando para Internet » PHP »

Duda elementos de un array

Estas en el tema de Duda elementos de un array en el foro de PHP en Foros del Web. Hola a todos, tengo una pequeña duda con una función que estoy realizado para un array: Tengo uno con aproximadamente 20 elementos, por ejemplo : ...
  #1 (permalink)  
Antiguo 21/09/2012, 09:26
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Duda elementos de un array

Hola a todos, tengo una pequeña duda con una función que estoy realizado para un array:

Tengo uno con aproximadamente 20 elementos, por ejemplo :

Código PHP:
$array = array('1''2''3''4''5''6',' ','7','8','9',' ',' ',' ','12','23','4','5',' ','2',' ','3','5','2'); 
Ahora mismo lo que tengo hecho es : sumo todos los elementos del array, los divido por el número de elementos y le asigno a los blancos este número :

Código PHP:
$count count($array);
    
        
$sum array_sum($array);
        
        
$media round($sum $count);
                
        foreach(
$array as $values){
            
            if(
$values == ' '){
                
                echo 
$media.',';
            
            }else{
                
                echo 
$values.',';
                
            }
        } 
No me gusta nada de nada como queda, porque antes de un 12, me coloca un 4, no tiene sentido, la idea es que los números sean coherentes, 1 mas o 1 menos.

Como podeis comprobar existen algunos en blanco, los cuales yo quiero rellenar, pero no de forma aleatoria, la idea es coger el anterior y el siguiente al vacío, sumarlos y dividirlos entre 2, tambien tengo el problema que pueden haber 4 blancos seguidos.

¿Alguna idea?

Gracias
  #2 (permalink)  
Antiguo 21/09/2012, 10:11
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Duda elementos de un array

Parece más bien una tarea que algo relevante, además el problema de que ante números muy separados puede haber muchas discrepancias, pero creo que es posible hacer algo así:

Código PHP:
Ver original
  1. for($x=0;$x<count($array);$x++)//recorremos el array
  2.    if(empty($array[$x]))//si tiene un elemento vacio
  3.         $array[$x]=($array[$x-1]+siguiente($array,$x+1))/2;//sumamos el anterior más el siguiente y dividimos entre 2
  4.  
  5. function siguiente($array,$pos){
  6.    while(isset($array[$pos]) and empty($array[$pos]))//mientras haya elementos y esten vacios
  7.       $pos++;
  8.    if(isset($array[$pos]))
  9.        return $array[$pos];
  10.    else
  11.        return 0;
  12. }
  #3 (permalink)  
Antiguo 21/09/2012, 12:25
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Duda elementos de un array

Estoy probando el código, tal cual lo has puesto no logro hacerlo funcionar, voy a intentar crear una función nueva e intentar siguiendo un poco esa teoria hacerlo funcionar.
  #4 (permalink)  
Antiguo 21/09/2012, 13:09
 
Fecha de Ingreso: enero-2009
Mensajes: 434
Antigüedad: 15 años, 3 meses
Puntos: 5
Respuesta: Duda elementos de un array

Nada, no logro hacer funcionar tu codigo, ¿ alguna otra sugerencia ?

Etiquetas: elementos
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 15:43.