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 数组的键名不是连续的数字,可能会导致合并后的数组键名发生变化。如果需要保持键名不变,可以使用另一种方式进行合并。

PHP 数组比较:合并不同元素到多维数组

原文地址: https://www.cveoy.top/t/topic/bqm4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录