我无法理解在PHP中使用array_diff
的正确方法,以及它是否是在我的情况下使用的正确函数。
$array1 =
Array
(
[0] => 1457543
[1] => 1457544
[2] => 1461778
[3] => 1465640
[4] => 1473801
[5] => 1474814
[6] => 1474815
[7] => 1475227
[8] => 1478144
[9] => 1479478
[10] => 1480843
)
$array2 =
Array
(
[0] => 1336623
[1] => 1457543
[2] => 1457544
[3] => 1461778
[4] => 1465640
[5] => 1468007
[6] => 1474814
[7] => 1474815
[8] => 1478144
[9] => 1479478
[10] => 1480843
)
我想确保$array2
中的所有数字都出现在$array1
中。
我会使用array_diff($array2, $array1);
。这是对的吗?
array_diff
是否会忽略这些键,因为我需要它来执行此操作,只需检查这些值,因为两个数组中的键通常都是相同的,因为缺少相同的值数字是此代码中要找到的点。
答案 0 :(得分:0)
是的,如果您使用:
array_diff($array2, $array1);
您将确保所有$ array2值都在$ array1中。但是如果$ array1具有$ array2没有的值,你就不会得到它们。 此外,array_diff会忽略您的密钥。完全是你想要的!
答案 1 :(得分:0)
array_diff()
函数用于查找给定数组的差异。
例如
<?php
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_diff($a1,$a2);
print_r($result);
?>
输出
Array ( [d] => yellow )
<强>错误强>
[0]
来0
,
php code
<?php
$array1 = array
(
0 => 1457543,
1 => 1457544,
2 => 1461778,
3 => 1465640,
4 => 1473801,
5 => 1474814,
6 => 1474815,
7 => 1475227,
8 => 1478144,
9 => 1479478,
10 => 1480843
);
$array2 = array
(
0=> 1336623,
1=> 1457543,
2=> 1457544,
3=> 1461778,
4=> 1465640,
5=> 1468007,
6=> 1474814,
7=> 1474815,
8=> 1478144,
9=> 1479478,
10 => 1480843
);
$result=array_diff($array1,$array2);
print_r($result);
?>
<强>输出强>
Array ( [4] => 1473801 [7] => 1475227 )