PHP 数组比较:合并不同元素到多维数组
PHP 数组比较:合并不同元素到多维数组
本文将演示如何使用 PHP 代码比较两个数组,找出不同的元素并将它们合并到一个多维数组中。
假设你有一个数组 $a 为 [1, 2, 3, 4],另一个数组 $b 为 [1 => [1, 2], 2 => [1, 2]]。你的目标是将 $a 中存在于 $b 中所有子数组的元素去除,并将剩下的元素作为新的子数组添加到 $b 中。
你可以使用循环遍历的方式,逐个比较两个数组的元素,找出不同的值,并将这些值添加到 $b 数组中。
以下是实现方法:
$a = [1, 2, 3, 4];
$b = [1 => [1, 2], 2 => [1, 2]];
foreach ($a as $value) {
if (!in_array($value, $b[1]) && !in_array($value, $b[2])) {
$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
)
)
在上述代码中,通过 foreach 循环遍历数组 $a 中的每个值 $value。使用 in_array 函数检查 $value 是否存在于 $b 数组的子数组中。如果不存在,则将 $value 添加到 $b 数组中,形成一个新的子数组。最后,使用 print_r 函数输出合并后的 $b 数组。
注意:
上述代码假设 $b 数组的键名是连续的数字,如果 $b 数组的键名不是连续的数字,可能会导致合并后的数组键名发生变化。如果需要保持键名不变,可以使用另一种方式进行合并。
原文地址: https://www.cveoy.top/t/topic/bqm4 著作权归作者所有。请勿转载和采集!