比较php中的两个数组实例



我的脚本中有两个array

$array1 = array("a" =>'1','2','3','4','5','6','7','8','9','10');
$array2 = array("b" => '1','3','4','6','7','8','10');

我想比较这些数组,找到在$array1中存在但在$array2中不存在的项
为此,我使用了array_diff($array1, $array2),它给出了类似于Array ( [0] => 2 [3] => 5 [7] => 9 )的o/p
但我想要像这样的o/p Array ( [0] => 2 [1] => 5 [2] => 9 )

试用array_values:

$output = array_values(array_diff($array1, $array2));

输出:

array (size=3)
  0 => string '2' (length=1)
  1 => string '5' (length=1)
  2 => string '9' (length=1)

您可以使用sort()对差异后的数组进行排序。

$array1 = array("a" =>'1','2','3','4','5','6','7','8','9','10');
$array2 = array("b" => '1','3','4','6','7','8','10');
$diff = array_diff($array1, $array2);
sort($diff);

http://codepad.viper-7.com/yREvAg

或者像其他人写的那样,您可以使用array_values()

使用array_diff

$array1 = array("a" =>'1','2','3','4','5','6','7','8','9','10');
$array2 = array("b" => '1','3','4','6','7','8','10');
$diff = array_diff($array1, $array2);

对于重置键,使用array_values

$reset = array_values($diff);
$temp = array_diff($array1, $array2)
$result = array();
foreach($temp as $key => $value){
     $result[] = $value;
}

最新更新