Foros del Web » Programando para Internet » PHP »

comparar un valor entre varios arrays

Estas en el tema de comparar un valor entre varios arrays en el foro de PHP en Foros del Web. hola a todos supongamos ke tengo varios arrays como estos $array1[numero]=3; $array2[numero]=9; $array3[numero]=4; lo que quiero hacer es averiguar cual es el array con el ...
  #1 (permalink)  
Antiguo 09/09/2007, 04:14
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
comparar un valor entre varios arrays

hola a todos
supongamos ke tengo varios arrays como estos
$array1[numero]=3;
$array2[numero]=9;
$array3[numero]=4;

lo que quiero hacer es averiguar cual es el array con el numero mas alto, en este caso $array2
gracias

Última edición por sisko; 09/09/2007 a las 21:02
  #2 (permalink)  
Antiguo 09/09/2007, 05:15
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Re: comparar un valor entre varios arrays

Prueba con la función max.

Un saludo
  #3 (permalink)  
Antiguo 09/09/2007, 05:22
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: comparar un valor entre varios arrays

eso sirve para saber cual es el valor mas alto, pero no para saber en que array esta el valor mas alto (y eso es lo que necesito..)
gracias igual
  #4 (permalink)  
Antiguo 09/09/2007, 21:01
 
Fecha de Ingreso: junio-2007
Mensajes: 46
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: comparar un valor entre varios arrays

up
sigo sin poder hacerlo..
  #5 (permalink)  
Antiguo 09/09/2007, 22:39
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Re: comparar un valor entre varios arrays

Segun lo que tu describes, tu array, son array unidimensionales, es decir, vectores.

Bueno en los primeros cursillos de programacion, siempre te enseñan a encontrar el mayor, el clasico algoritmo de ir preguntando quien es mayor y guardar el mayor y la posicion.

Código PHP:
<?

// Funcion Maximo en Vectores by deerme.org
// http://deerme.org
$arr1 = array ( 0,14,25,31,54,1245,-147,10,547,478,12,45);
$arr2 = array ( 10,13,21,0,12,4125,3435,6263,3634,63463,12,-5245);
$arr3 = array ( 21,141,2512,315,-54,1121,523523,1212,2532,523523,1212,522);

// Arreglo con Valores Aleatorios
for ($i=0;$i<200;$i++)
{
    
$arr4[$i]=rand(-1000,1000000);
}

function 
maximo_array($arraybi)
{
    
// Se le deben entregar Array Unidimensionales ( Vectores )
    
    // Definimos Iniciales
    
$mayor = -999999999999;
    
$mayor_indice = -1;
    
$array_encontrado = -1;
    
    
    
$num_array=0;
    foreach ( 
$arraybi as $array  )
    {
        
        foreach ( 
$array as $indice=>$valor )
        {
            
            if ( 
$mayor <= $valor )
            {
                
// Actualizamos
                
$mayor $valor;
                
$mayor_indice $indice;
                
$array_encontrado $num_array;    
            }
            
            
        }
        
        
$num_array++;
        
        
    } 
    
    return ( array(
$array_encontrado,$mayor_indice,$mayor));
    
}


$caca maximo_array( array($arr1,$arr2,$arr3,$arr4) );


print_r($caca);


?>
entonces lo que devuelve la funcion es
- Primer Valor, el en que array se encuentra
- Posicion dentro del Array
- El Valor mas alto

ejecutado localmente
Código:
Array ( [0] => 3 [1] => 24 [2] => 999176 )
(es ovbio que el cuarto array pasado , tiene valores aleatorios)

Saludos

Última edición por DeeR; 09/09/2007 a las 22:40 Razón: xD
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 09:39.