我想獲得兩個陣列的區別陣列,但array_diff()
不工作我多麼希望。差異兩個數組
我有這樣的事情:
Array ([0] => dog [1] => cat [2] => cow [3] => bird [4] => wolf)
Array ([0] => dog [1] => cat [2] => cow)
而且我要得到這個:
Array ([0] => bird [1] => wolf)
任何想法?
我想獲得兩個陣列的區別陣列,但array_diff()
不工作我多麼希望。差異兩個數組
我有這樣的事情:
Array ([0] => dog [1] => cat [2] => cow [3] => bird [4] => wolf)
Array ([0] => dog [1] => cat [2] => cow)
而且我要得到這個:
Array ([0] => bird [1] => wolf)
任何想法?
試試這個代碼:
$array1 = array ('dog','cat','cow','bird','wolf');
$array2 = array ('dog','cat','cow');
$diff = array_values(array_diff($array1,$array2));
print_r($diff);
不幸的是,它不工作,我已經試過了。 我得到: Array([0] => dog [1] => cat [2] => cow [3] => bird [4] =>狼) – fandrejevic 2012-08-08 00:57:11
有趣的是, ,但它不適用於我的數組。也許鑰匙造成了問題? :-k – fandrejevic 2012-08-08 01:00:52
他們不應該,發佈你的代碼不工作,請。 – Oussama 2012-08-08 01:02:32
array_values(array_diff($array1, $array2));
不幸的是它不工作,我已經試過了。 我得到: 陣列([0] =>狗[1] =>貓[2] =>牛[3] =>鳥[4] =>狼) – fandrejevic 2012-08-08 00:56:14
問我看了你的例子中,有兩個問題嚇了一跳您: - 數組可以是相同的密鑰相同的值,所以你要找到只尊重鍵和尊重值? - 陣列只有相同的鍵,但你只想找到參考值?
可以避免inbuild功能
$a1 = array ('dog','cat','cow','bird','wolf');
$a2 = array ('dog','cat','cow');
foreach($a1 as $key=>$value){
if(!in_array($value, $a2))
$s3[] = $value;
}
如果u需要副在兩個輸入數組反之亦然差異,然後添加FOLL:
foreach($a2 as $key=>$value){
if(!in_array($value, $a1))
$s3[] = $value;
}
裹和array_diff的'的輸出陣列() ''array_values()'中的鍵重新編號爲0. – 2012-08-08 00:50:42