两个数组
$a1=Array ( [0] => 3979953540 [1] => 2534670983 [2] => 2941686393 [3] => 4332391923 [4] => 5014015371 [5] => 1557532655 [6] => 2746885203 [7] => 2746885203 [8] => 2746885203 [9] => 2746885203 [10] => 2746885203 [11] => 2746885203 [12] => 2746885203 [13] => 2746885203 [14] => 2746885203 [15] => 2746885203 [16] => 2746885203 [17] => 2746885203 [18] => 3696488675 [19] => 2880436052 );
$a2=Array ( [0] => 3979953540 [1] => 4332391923 [2] => 3696488675 [3] => 2880436052 [4] => 2534670983 [5] => 2746885203 [6] => 5014015371 [7] => 1557532655 );
$a2中永远不会出现$a1中没有的值,我想获得两个数组的差值,也就是以$a1为基础,得到在$a1中有但在$a2中没有的值,只要键值。上面的数组可能直接运行不太对,但在程序中全部是用explode分割成的,我只是将分割的结果print_r了一下直接拷过来的。我原来是想用$a3=array_diff($a1,$a2);来得到的,但是好象不行,$a3总是空的。
$a1=Array ( [0] => 3979953540 [1] => 2534670983 [2] => 2941686393 [3] => 4332391923 [4] => 5014015371 [5] => 1557532655 [6] => 2746885203 [7] => 2746885203 [8] => 2746885203 [9] => 2746885203 [10] => 2746885203 [11] => 2746885203 [12] => 2746885203 [13] => 2746885203 [14] => 2746885203 [15] => 2746885203 [16] => 2746885203 [17] => 2746885203 [18] => 3696488675 [19] => 2880436052 );
$a2=Array ( [0] => 3979953540 [1] => 4332391923 [2] => 3696488675 [3] => 2880436052 [4] => 2534670983 [5] => 2746885203 [6] => 5014015371 [7] => 1557532655 );
$a2中永远不会出现$a1中没有的值,我想获得两个数组的差值,也就是以$a1为基础,得到在$a1中有但在$a2中没有的值,只要键值。上面的数组可能直接运行不太对,但在程序中全部是用explode分割成的,我只是将分割的结果print_r了一下直接拷过来的。我原来是想用$a3=array_diff($a1,$a2);来得到的,但是好象不行,$a3总是空的。
得到
Array
(
[2] => 2941686393
[9] => 2746885203
)
结果是正确的
$array1 = array("a" => "green", "red", "blue", "red");
$array2 = array("b" => "green", "yellow", "red");
$result = array_diff($array1, $array2);print_r($result);
?>Multiple occurrences in $array1 are all treated the same way. This will output : copy to clipboard
Array
(
[1] => blue
)
<?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 )
$narr=array();
For($i=0;$i<count($a1);$i++){
IF(In_Array($a1[$i],$a2)){
Continue;
}Else{
$narr[]=$a1[$i];
}
}
Print_r ($narr);
$a1=Array ("3979953540","2534670983","2941686393","4332391923" ,"5014015371", "1557532655","2746885203" ,"2746885203","2746885203" ,"2746885203","2746885203"); $a2=Array (" 3979953540" ,"4332391923" ,"3696488675" ,"2880436052" ,"2534670983 " ,"2746885203","5014015371" ,"1557532655" );
print_r(array_diff($a1,$a2));
?>