一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

PHP实现二维数组去重功能示例

时间:2017-01-13 编辑:简简单单 来源:一聚教程网

本文实例讲述了PHP实现二维数组去重功能。分享给大家供大家参考,具体如下:

php中二维数组去重操作。例如从数据库中查询出的记录,根据某个键做去重操操作

代码如下:

 

 代码如下复制代码

/**

 * 删除二维数组中相同项的数据,(一般用于数据库查询结果中相同记录的去重操作)

 *

 * @param array $_2d_array 二维数组,类似:

 *     $tmpArr = array(

 *         array('id' => 1, 'value' => �f5de5bb708e'),

 *         array('id' => 1, 'value' => �f5de5bb708e'),

 *     );

 * @param string $unique_key 表示上述数组的 "id" 键,或者 "value" 键

 *

 * @return mixed

 */

functionunique_2d_array_by_key($_2d_array,$unique_key) {

  $tmp_key[] =array();

  foreach($_2d_arrayas$key=> &$item) {

    if(is_array($item) && isset($item[$unique_key]) ) {

      if( in_array($item[$unique_key],$tmp_key) ) {

        unset($_2d_array[$key]);

      }else{

        $tmp_key[] =$item[$unique_key];

      }

    }

  }

  return$_2d_array;

}

//使用示例:

$tmpArr=array(

  array('id'=> 1,'value'=>�f5de5bb708e'),

  array('id'=> 1,'value'=>�f5de5bb708e'),

);

print_r(@unique_2d_array_by_key($tmpArr,id));

 

运行结果:

Array ( [0] => Array ( [id] => 1 [value] => 15046f5de5bb708e ) )

原理:将需要去重的第二维数组中的键保存起来,遍历对比下一组数据,如遇键值相同则删除。

热门栏目