当前位置: 首页 > 面试题库 >

如何在多维数组中获得唯一值

慕宏峻
2023-03-14
问题内容

我已经做了很多关于溢出和谷歌的环顾工作,但是对于我的具体情况,结果都不起作用。

我有一个名为$ holder的占位符数组,值如下:

    Array ( 
    [0] => Array ( 
        [id] => 1 
        [pid] => 121 
        [uuid] => 1  
        )
    [1] => Array ( 
        [id] => 2 
        [pid] => 13
        [uuid] => 1
        )
    [2] => Array ( 
        [id] => 5 
        [pid] => 121 
        [uuid] => 1
        )
    )

我正在尝试从此多维数组中提取不同/唯一的值。我想要的最终结果是一个包含(13,121)的变量,或者是(最好是)一个如下数组:Array([0] => 13
[1] => 121)

再次,我尝试了序列化等,但是当在每个数组中使用单个键进行操作时,我不太了解它是如何工作的。

我试图尽可能清楚。我希望这是有道理的…


问题答案:

似乎很简单:将所有pid值提取到它们自己的数组中,通过运行array_unique

$uniquePids = array_unique(array_map(function ($i) { return $i['pid']; }, $holder));

从长远来看同样的事情:

$pids = array();
foreach ($holder as $h) {
    $pids[] = $h['pid'];
}
$uniquePids = array_unique($pids);


 类似资料:
  • 问题内容: 我有一个多维数组设置,如下所示: 在该区域中搜索“名称”中的重复值并将其删除以使多维数组中的每个值都是唯一的最佳方法是什么? 提前致谢! 问题答案: 由于每个人都提供了替代方案,因此这里是解决当前问题的方法。有时,我们必须使用已有的数据,而不必按照自己喜欢的方式进行重新排列。话虽如此,这将从阵列中删除所有重复的后续条目。 看起来像这样:

  • 问题内容: 我有一个像这样的数组: 如何删除重复的值,以便得到此信息: 我尝试使用array_unique,但是我认为由于该数组是多维的,因此无法正常工作。 编辑:我还需要此数组是多维的,并且以这种格式,我不能展平它。 问题答案: 在比较值以查找唯一值之前正在使用字符串转换: 注意 :当且仅当时,两个元素才被视为相等。换句话说:当字符串表示相同时。将使用第一个元素。 但是数组将始终转换为: 您可以

  • 问题内容: 如何获得数组中唯一值的列表?我是否总是必须使用第二个数组,或者是否有类似于JavaScript中Java哈希表的东西? 我将仅使用 JavaScript 和 jQuery 。不能使用其他库。 问题答案: 由于我在@Rocket答案的注释中继续进行了讨论,因此我不妨提供一个不使用任何库的示例。这需要两个新的原型函数,并且 为了提高可靠性,可以用MDN的垫片代替,并检查每个元素的值是否等于

  • 问题内容: 我正在尝试使用数组来过滤并在列表中显示信息。为此,我使用了inbuild 方法。 但是我遇到了错误。 这是我的尝试(我通过过滤) 现场演示 问题答案: AngularJS 默认不包含过滤器。您可以使用angular- filter中的 那个。只包含JavaScript 并在您的应用中添加依赖项: 您的代码应立即生效!我编辑了您的Plunker,使其正常工作。

  • 如何维护唯一数组的? 例如,如果我有以下数组:

  • 说我有一个地图(myMap)的字符串和对象-地图 如何在myMap中获得K. name每次出现的次数并将其存储在新地图中?新地图将显示K. Name作为键,其值将是它在myMap中出现的次数