当前位置: 首页 > 编程笔记 >

php去除二维数组的重复项方法

曹臻
2023-03-14
本文向大家介绍php去除二维数组的重复项方法,包括了php去除二维数组的重复项方法的使用技巧和注意事项,需要的朋友参考一下

php中去一维数组的重复项可以通过php内置函数array_unique(),但是php的array_unique函数对多维数组并不适用,怎么才能去除二维数组中的重复项呢?

以下给大家提供一个函数。

//二维数组去掉重复值
function unique_arr($array2D,$stkeep=false,$ndformat=true){
  $joinstr='+++++';
  // 判断是否保留一级数组键 (一级数组键可以为非数字)
  if($stkeep) $stArr = array_keys($array2D);
  // 判断是否保留二级数组键 (所有二级数组键必须相同)
  if($ndformat) $ndArr = array_keys(end($array2D));
  //降维,也可以用implode,将一维数组转换为用逗号连接的字符串
  foreach ($array2D as $v){
    $v = join($joinstr,$v);
    $temp[] = $v;
  }
  //去掉重复的字符串,也就是重复的一维数组
  $temp = array_unique($temp);
  //再将拆开的数组重新组装
  foreach ($temp as $k => $v){
    if($stkeep) $k = $stArr[$k];
    if($ndformat){
      $tempArr = explode($joinstr,$v);
      foreach($tempArr as $ndkey => $ndval) $output[$k][$ndArr[$ndkey]] = $ndval;
    }
    else $output[$k] = explode($joinstr,$v);
  }
  return $output;
}

希望对大家学习php程序设计有所帮助。

 类似资料:
  • 本文向大家介绍两种php去除二维数组的重复项方法,包括了两种php去除二维数组的重复项方法的使用技巧和注意事项,需要的朋友参考一下 php去掉二维数组的重复值的方法总结,具体代码如下: 方法一: 方法二: 两种php去除二维数组的重复项的方法,各有利弊,大家可以根据具体情况进行选择。

  • 本文向大家介绍PHP二维数组去重算法,包括了PHP二维数组去重算法的使用技巧和注意事项,需要的朋友参考一下 需求 现在有下面一组二维数组: 需要将处于第二维键名为name,其值相同的数组的value合并,形成一个新的数组。 比如上面代码中的name为fileds_510的两个二维数组,就应该合并为一个值为足球,棒球的数组。 思路 提到数组,再PHP中我们首先想到了循环,那么这里显然比较适合使用fo

  • 本文向大家介绍php去除数组中重复数据,包括了php去除数组中重复数据的使用技巧和注意事项,需要的朋友参考一下 废话不多说,直接上代码 代码很简单,却非常的实用,有需要的小伙伴可以直接拿去用的。 另附上其他网友的解决办法 PHP数组去除重复项 有个内置函数array_unique (),但是php的 array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组 的 arr

  • 问题内容: 不知道这个问题是否需要删除,但是我无法在其他地方找到答案,所以我可以去询问。 我有一个二维数组,如下所示: 我想删除那些重复的电子邮件。因此,在上述示例中,我只想删除[] [0]或[] [2]。我不担心要检查名称或类似的东西,我只需要基于单个值对子数组进行重复数据删除。 此刻我有这样的事情 但这是不对的。任何帮助表示赞赏。 问题答案: 一种使用数组索引唯一性的快速解决方案: 注意1:从

  • 本文向大家介绍JavaScript基于对象去除数组重复项的方法,包括了JavaScript基于对象去除数组重复项的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript基于对象去除数组重复项的方法。分享给大家供大家参考,具体如下: JavaScript中,去除数组重复项是一个很常用的函数,而且在面试中也很经常被提问到.很多人在面对这个问题的时候,一般都是采用多层for循环

  • 我开发了一个程序,获取包含用户id及其技能的用户技能数组,该数组如下: 关键是user_id,值是技能数组,现在我想搜索有两个值的user_id:english或word,我希望返回17,16,我该怎么做,谢谢你的帮助:)