Cita:
Iniciado por masterojitos
esta es tu solucion:
Código PHP:
foreach($uno as $v){
foreach($dos as $k){
if($k!=$v)$tres[]=$k;break;
}
}
Eso no funciona, masterojitos.
Haces un producto cartesiano que lo que va a generar es un montón de entradas duplicadas en el tercer array, cada vez que un elemento del primer array sea distinto a otro del segundo. Basta ejecutarlo para verlo. Para muestra:
Código PHP:
$a = array( "1", "b", "c", "d" );
$b = array( 1, "b", "d" );
foreach( $a as $uno )
foreach( $b as $otro )
if( $uno != $otro ) $c[]=$uno;
print_r($c);
Y su resultado:
Código:
Array
(
[0] => 1
[1] => 1
[2] => b
[3] => b
[4] => c
[5] => c
[6] => c
[7] => d
[8] => d
)
Si por alguna razón no quiere usar
array_diff, como ya ha sugerido, y lo quiere implementar "manualmente", entonces un esquema podría ser éste:
Código PHP:
foreach( $a as $uno )
if( !in_array($uno, $b) ) $d[]=$uno;
Aunque faltaría también comprobar que no son del mismo tipo, porque en este caso está aceptando que 1 (entero) es igual a "1" (string).
Un saludo.