【问题标题】:PHP unique array after merge合并后的PHP唯一数组
【发布时间】:2014-01-31 22:58:53
【问题描述】:

有没有更好的方法来实现以下目标:

array_unique(array_merge($array_one, $array_two))

即合并两个数组,只有唯一值。

array_merge 似乎对键进行唯一合并,但我需要唯一值并且看不到执行此操作的内置函数。

我理解“更好”可能是主观的。我的想法纯粹是因为我使用包装的两个数组函数来获取值。

【问题讨论】:

  • 这些是数值数组还是关联数组?
  • array_merge 对数字数组做了正确的事情,它只是追加它们。
  • 是的,但我只想要唯一的数组值
  • array_unique 这样做。
  • 没有任何内置功能可以做到这一点,AFAIK。您可以编写自己的函数来执行此操作。

标签: php


【解决方案1】:

不确定你是否可以一举失败 - 虽然两个函数也不错......唯一的其他建议是在形成第二个数组($array_two - 或最后一个形成的数组)时进入一个条件,例如

for($i=0; $i<10; $i++) {
   $array_one[] = $i;
}

for($k=5; $k<15; $k++) {
   if(!in_array($k,$array_one)) $array_two[] = $k;
}

当然,如果第一个数组在第二个数组开始之前没有完全形成(完成),那么这将无济于事。如果这样做需要太多的钻研,我会考虑保留原件 - 只要它做你想要的_g

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多