PHP 数组比较:找出不同元素并合并到另一个数组
PHP 数组比较:找出不同元素并合并到另一个数组
本教程将展示如何使用 PHP 找出两个数组中不同的值,并将这些值组成新的数组合并到另一个数组中。
假设您有两个数组:
- 数组
'a':[1, 2, 3, 4] - 数组
'b':[1 => [1, 2], 2 => [1, 2]]
您希望找出数组 'a' 中存在于数组 'b' 中的元素,并将这些元素组成新的数组,并合并到 'b' 中。
使用循环遍历的方式,逐个检查 'a' 数组中的值是否存在于 'b' 数组中。如果不存在,则将该值作为一个单独的数组添加到 'b' 数组中。
以下是实现该功能的 PHP 代码示例:
$a = [1, 2, 3, 4];
$b = [1 => [1, 2], 2 => [1, 2]];
foreach ($a as $value) {
$found = false;
foreach ($b as $key => $array) {
if (in_array($value, $array)) {
$found = true;
break;
}
}
if (!$found) {
$b[] = [$value];
}
}
print_r($b);
输出结果:
Array
(
[1] => Array
(
[0] => 1
[1] => 2
)
[2] => Array
(
[0] => 1
[1] => 2
)
[3] => Array
(
[0] => 3
)
[4] => Array
(
[0] => 4
)
)
代码解释:
- 使用两层循环遍历
'a'数组和'b'数组。 - 对于
'a'数组中的每个值,都会检查是否存在于'b'数组中的任何一个子数组中。 - 如果存在,则使用
$found = true标记,并跳出内层循环。 - 如果不存在,则使用
$b[] = [$value]将该值作为一个单独的数组添加到'b'数组中。
注意:
由于在循环中修改了 'b' 数组,因此需要使用 foreach 循环的引用方式(&$array)来确保对 'b' 数组的修改生效。
希望本教程对您有所帮助。如果您有任何疑问,请随时提出。
原文地址: https://www.cveoy.top/t/topic/bqoS 著作权归作者所有。请勿转载和采集!