如何创建一个新数组,其中只包含两个单独数组中的一个重复实例,同时在php中组合它们?

如何创建一个新数组,其中只包含两个单独数组中的一个重复实例,同时在php中组合它们?,php,arrays,duplicates,Php,Arrays,Duplicates,到目前为止,我已经做了以下工作: $row = mysql_fetch_assoc($result); $row2 = mysql_fetch_assoc($result); $duplicates = array_intersect($row, $row2); 如何组合这两个数组并创建一个新数组,其中只包含先前重复变量的一个实例?(因此,如果数组$row包含变量“apple”2次,数组$row2包含变量“apple”3次,那么在新的合并数组中,“apple”只会出现一次 编辑:我没有意识到a

到目前为止,我已经做了以下工作:

$row = mysql_fetch_assoc($result);
$row2 = mysql_fetch_assoc($result);
$duplicates = array_intersect($row, $row2);
如何组合这两个数组并创建一个新数组,其中只包含先前重复变量的一个实例?(因此,如果数组$row包含变量“apple”2次,数组$row2包含变量“apple”3次,那么在新的合并数组中,“apple”只会出现一次

编辑:我没有意识到array_merge()函数对数字的作用与对字符串的作用不同。我给出了上面的“apple”示例,但我的数组处理的是数字产品ID。PHP手册上说

但是,如果数组包含数字键,则后面的值将不包含 覆盖原始值,但将被追加

我需要帮助将数组与数字合并,我应该怎么做?

您可以使用

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

如果要在合并后删除重复值,请使用array_unique()

所以


我理解如何组合两个数组的问题(array_merge是答案),但是“创建一个只包含先前重复值之一的新数组”是什么意思是的-这有点不清楚,你的数组中有什么,你不想要什么重复值?很抱歉不清楚,我用更多的细节编辑了我的问题。也许这是完全错误的,但是如果你从MySQL数据库中获取ID,默认情况下它们不是字符串吗?是吗?我将列创建为INT值,所以我假设它是是一个整数,我还在学习。我看了php手册,上面说如果是数字条目,重复的值不会被覆盖。你能给我一个关于如何使用数字条目的建议吗或者我还应该考虑其他功能吗?
$c = array_unique(array_merge($a, $b));