PHP 比较数组
PHP compare arrays
我有两个数组。 $arrayOld
和 $arrayNew
我想比较这些数组,并且只比较 select 不在 $arrayNew
.
中的值
我不想要 $arrayNew
中的值。所以我认为 array_diff()
不会帮助我。
$arrayOld = [1, 2, 3, 4, 5]
$arrayNew = [1, 4, 5, 6, 7]
所以它只需要 return 2
和 3
而不是 6
或 7
.
使用array_diff
,来完成这个。由于您需要区分数组并需要来自旧数组的数据,因此您需要使用旧数组作为 array_diff.
的第一个参数
Note: Array diff only returns from the first array which is not in second array.
$arrayOld = [1, 2, 3, 4, 5];
$arrayNew = [1, 4, 5, 6, 7];
$n = array_diff($arrayOld, $arrayNew);
print_r($n);
结果: Online Check
Array
(
[1] => 2
[2] => 3
)
如果您需要输出数组的新键,只需使用 array_values
。新密钥从0开始。
$arr = array_values($n);
使用下面的代码
$arrayOld = [1, 2, 3, 4, 5];
$arrayNew = [1, 4, 5, 6, 7];
print "<pre>";
print_r(array_diff($arrayOld, $arrayNew));
输出:
Array
(
[1] => 2
[2] => 3
)
使用array_diff
函数
$arrayOld = array(1, 2, 3, 4, 5);
$arrayNew = array(1, 4, 5, 6, 7);
print_r(array_diff($arrayOld, $arrayNew));
使用此代码。
$arrayOld = array(1, 2, 3, 4, 5);
$arrayNew = array(1, 4, 5, 6, 7);
print_r(array_diff($arrayOld, $arrayNew));
$compare = array();
$i=1;
foreach($arrayOld as $k=>$v){
if(!in_array($v, $arrayNew)){
$compare[$i] = $v;
$i++;
}
}
$i=$i;
foreach($arrayNew as $k=>$v){
if(!in_array($v, $arrayOld)){
$compare[$i] = $v;
$i++;
}
}
我有两个数组。 $arrayOld
和 $arrayNew
我想比较这些数组,并且只比较 select 不在 $arrayNew
.
我不想要 $arrayNew
中的值。所以我认为 array_diff()
不会帮助我。
$arrayOld = [1, 2, 3, 4, 5]
$arrayNew = [1, 4, 5, 6, 7]
所以它只需要 return 2
和 3
而不是 6
或 7
.
使用array_diff
,来完成这个。由于您需要区分数组并需要来自旧数组的数据,因此您需要使用旧数组作为 array_diff.
Note: Array diff only returns from the first array which is not in second array.
$arrayOld = [1, 2, 3, 4, 5];
$arrayNew = [1, 4, 5, 6, 7];
$n = array_diff($arrayOld, $arrayNew);
print_r($n);
结果: Online Check
Array
(
[1] => 2
[2] => 3
)
如果您需要输出数组的新键,只需使用 array_values
。新密钥从0开始。
$arr = array_values($n);
使用下面的代码
$arrayOld = [1, 2, 3, 4, 5];
$arrayNew = [1, 4, 5, 6, 7];
print "<pre>";
print_r(array_diff($arrayOld, $arrayNew));
输出:
Array
(
[1] => 2
[2] => 3
)
使用array_diff
函数
$arrayOld = array(1, 2, 3, 4, 5);
$arrayNew = array(1, 4, 5, 6, 7);
print_r(array_diff($arrayOld, $arrayNew));
使用此代码。
$arrayOld = array(1, 2, 3, 4, 5);
$arrayNew = array(1, 4, 5, 6, 7);
print_r(array_diff($arrayOld, $arrayNew));
$compare = array();
$i=1;
foreach($arrayOld as $k=>$v){
if(!in_array($v, $arrayNew)){
$compare[$i] = $v;
$i++;
}
}
$i=$i;
foreach($arrayNew as $k=>$v){
if(!in_array($v, $arrayOld)){
$compare[$i] = $v;
$i++;
}
}