首页 > 文章列表 > PHP中如何连接两个数组并避免合并重复元素?

PHP中如何连接两个数组并避免合并重复元素?

306 2025-03-20

PHP中如何连接两个数组并避免合并重复元素?

PHP连接数组,避免重复元素的技巧

PHP中,array_merge() 函数常用于连接数组,但它会合并重复键的值。如何避免这种情况呢?本文提供两种方法:

方法一:直接合并为多维数组

最简单的办法是将两个数组直接放入一个新的数组中,这样就能保留所有元素,避免键值冲突。

$a = array('id' => 1, 'time' => time());
$b = array('id' => 1, 'time' => time());

$combined = array($a, $b);

echo json_encode($combined); 

输出结果类似:

[{"id":1,"time":1678886400},{"id":1,"time":1678886401}]

(时间戳会因运行时间而异)

方法二:使用array_merge_recursive() 函数 (保留重复键)

如果您希望保留重复键,但将值合并到一个数组中,可以使用 array_merge_recursive() 函数。

$a = array('id' => 1, 'time' => time());
$b = array('id' => 1, 'time' => time() + 1);

$c = array_merge_recursive($a, $b);

print_r($c);

输出结果:

Array
(
    [id] => 1
    [time] => Array
        (
            [0] => 1678886400
            [1] => 1678886401
        )
)

(时间戳会因运行时间而异)

选择哪种方法取决于您希望如何处理重复键。方法一适合需要保留所有原始数组结构的情况,方法二适合需要将重复键的值合并为数组的情况。 请根据您的实际需求选择合适的方法。

来源:1740399613