2009-08-23 7 views
1

を差素子を得るためにここでの状況です: 私は2つの配列、例えば持た:PHP関数両方の配列から

$a=array('a','b','c','d'); 
$b=array('1','b','c','e'); 

を、私は結果と2つの配列を生成します:

$c=array('a','d');//only element appeared on $a 
$d=array('1','e');//only element appeared on $b 

をあなたは持っています巧妙な解決策?

答えて

2
$c = array_diff($a, $b); 
$d = array_diff($b, $a); 
0

申し訳ありませんが、私の悪いです。それは私のテストで間違った配列を与えていたことが分かります。 シンプルarray_diffは、問題を解決: $c = array_diff($a, $b); $d = array_diff($b, $a);

0

はarray_diff()関数を使用してみてください:

array_diff(array1,array2,array3...) 

例:

<?php 
$a1=array(0=>"Cat",1=>"Dog",2=>"Horse"); 
$a2=array(3=>"Horse",4=>"Dog",5=>"Fish"); 
print_r(array_diff($a1,$a2)); 
?> 

を出力:

Array ([0] => Cat) 

が出典:http://www.w3schools.com/PHP/func_array_diff.asp