Aca te dejo un codigo que arme, que selecciona los comunes y no comunes y los muestra.
Código PHP:
Ver original<?php
$xm_explode = array("1","2","3","4","5"); //arr1 $xm_explode_2 = array("1","2","3"); //arr2
//Cantidad Valores
$arr1 = count($xm_explode)-1; $arr2 = count($xm_explode_2)-1;
//Donde se guardaran los valores comunes y no comunes
//Separacion de valores en los casos que uno de los dos array sea mayor que el otro
if($arr1 <= $arr2){
$i = 0;
foreach ($xm_explode as $value){
if($value == $xm_explode_2[$i]){
$arrComunes[] = $value;
}else{
$arrNocomunes[] = $value;
$arrNocomunes[] = $xm_explode_2[$i];
}
$i++;
}
if($i < $arr2){
while($i <= $arr2){
$arrNocomunes[] = $xm_explode_2[$i];
$i++;
}
}
}else{
$i = 0;
foreach ($xm_explode_2 as $value){
if($value == $xm_explode[$i]){
$arrComunes[] = $value;
}else{
$arrNocomunes[] = $value;
$arrNocomunes[] = $$xm_explode[$i];
}
$i++;
}
if($i < $arr1){
while($i <= $arr1){
$arrNocomunes[] = $xm_explode[$i];
$i++;
}
}
}
//Mostrar Resultados
echo 'Array Comunes';
echo '<pre><br>';
echo '</pre><br>';
echo 'Array No Comunes';
echo '<pre><br>';
echo '</pre><br>';
?>
El código tiene una particularidad, que supongamos que tenes los siguientes valores
Array 1 = 1 , 2 , 3 ,
4 ,
5 , 6 , 7
Array 2 = 1 , 2 , 3 ,
5 ,
4 , 6 , 7
Te va a mostrar:
Valores Comunes: 1,2,3,6,7
Valores no Comunes: 4,5,5,4
Porque sucede esto?
Porque el script los va chequeando por PARES, tendrías que pensar alguna forma de modificarlo para que no suceda eso.
Te doy la idea, intenta resolver dicha cuestión. lo dejo en tus manos.
De ultima si no te sale, decime y veo como lo podemos solucionar.
Saludo!