Ver Mensaje Individual
  #4 (permalink)  
Antiguo 14/12/2006, 10:05
Avatar de holahola
holahola
 
Fecha de Ingreso: mayo-2005
Ubicación: Móstoles - (Madrid)
Mensajes: 214
Antigüedad: 19 años
Puntos: 1
Re: comparar dos arreglos

Cita:
Iniciado por mamon Ver Mensaje

Lo que quiero saber es si se repiten los items comparando un arreglo con el otro, y los items q no estan en un arreglo pero si en el otro y vicecersa.

A mí tampoco me queda claro cual es tu problema. Por si he entendido algo, mira este código:

Código PHP:
<?
$array1
=array ("vaso""plato""bandeja""botella");
$array2=array ("bandeja""vaso""cuchillo");


echo 
'<pre>';
print_r($array1);
echo 
'</pre>';
echo 
'<pre>';
print_r($array2);
echo 
'</pre>';

echo 
"Elementos que existen en las 2 arrays<br>\n";
foreach (
$array1 as $value1) {
    foreach (
$array2 as $value2) {
        if (
$value1 == $value2){
               echo 
"---> $value1<br>\n";
        }
    }
}

echo 
"<br>\nElementos que sólo existen en array1<br>\n";
foreach (
$array1 as $value1) {
    
$encontrado=false;
    foreach (
$array2 as $value2) {
        if (
$value1 == $value2){
            
$encontrado=true;
            
$break;
        }
    }
    if (
$encontrado == false){
           echo 
"---> $value1<br>\n";
    }
}


echo 
"<br>\nElementos que sólo existen en array2<br>\n";
foreach (
$array2 as $value2) {
    
$encontrado=false;
    foreach (
$array1 as $value1) {
        if (
$value1 == $value2){
            
$encontrado=true;
            
$break;
        }
    }
    if (
$encontrado == false){
           echo 
"---> $value2<br>\n";
    }
}
?>
Como puedes comprobar, se comparan 2 array (no importa su clasificación) y se obtienen tres tipos de listado:

1.- Los elementos que están en los dos arrays.
2.- Los que están en el array 1 y no en el 2.
3.- Los que están en el array 2 y no en el 1.

Tras procesarlo, este es el resultado:

Array
(
[0] => vaso
[1] => plato
[2] => bandeja
[3] => botella
)

Array
(
[0] => bandeja
[1] => vaso
[2] => cuchillo
)

Elementos que existen en las 2 arrays
---> vaso
---> bandeja

Elementos que sólo existen en array1
---> plato
---> botella

Elementos que sólo existen en array2
---> cuchillo


Un saludo

Última edición por holahola; 14/12/2006 a las 10:10 Razón: mostrar resultado