gpt4 book ai didi

PHP合并数组而不覆盖数据

转载 作者:搜寻专家 更新时间:2023-10-31 20:43:14 24 4
gpt4 key购买 nike

我有很多数组,我希望在不覆盖或丢失任何数据的情况下合并它们。我相信它们被称为关联数组,但我对这个术语不是 100% 肯定。

数组包含如下信息:

$array1['title']
$array1['description']

$array2['title']
$array2['description']
$array2['random information']

我想合并 $array1 和 $array2 的公共(public)键中包含的信息而不覆盖任何数据。

这可能吗?

我尝试过但未成功的事情包括以下内容:

(array)$array3 = (array)$array1 + array($array2);

$array3 = array_push($array1,$array2);

$array3 = array_merge_recursive($array1,$array2);

本质上,我想保留公共(public)键,并将两个数组中的信息添加到新数组中。例如,我只想要新数组中的一个 ['title'] ['description'] 等,但我想要新数组中两个数组的信息。

因此 $array3 将包含 $array1 和 $array2 中的所有信息...['title'] ['description'] 中的所有项目将保留在 下$array3 中的 ['title'] ['description']

这可能吗?

谢谢大家。

最佳答案

我发现使用 array_replace_recursive 嵌套有效。第一次调用创建一个合并的数组,其中可能删除了一些值,第二次调用将重新合并回您的主数组,保留主数组中的所有数组键,但允许合并的数组覆盖主数组中的值。

 $mergedArray = array_replace_recursive($array2, array_replace_recursive($array1, $array2));

关于PHP合并数组而不覆盖数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17623027/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com