本节内容:
php二维数组去重。
说明:
php中自带一个array_unique函数用于数组去重,不过此函数适用于一维数组,对多维数组并不适用。
这里实现一个二维数组去除重复数据的array_unique函数。
例子:
 
复制代码 代码示例:
<?php 
//二维数组去掉重复值 
function array_unique_fb($array2D) 
{ 
foreach ($array2D as $v) 
{ 
$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 
$temp[] = $v; 
} // www.jb200.com
$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组 
foreach ($temp as $k => $v) 
{ 
$temp[$k] = explode(",",$v); //再将拆开的数组重新组装 
} 
return $temp; 
}
例2,参考以上代码,如果需要保留数组的键值,可以创建如下的函数。
 
复制代码 代码示例:
<?php
//二维数组去掉重复值 并保留键值 
function array_unique_fb($array2D) 
{ 
foreach ($array2D as $k=>$v) 
{ 
$v = join(",",$v); //降维,也可以用implode,将一维数组转换为用逗号连接的字符串 
$temp[$k] = $v; 
} 
$temp = array_unique($temp); //去掉重复的字符串,也就是重复的一维数组 
foreach ($temp as $k => $v) 
{ 
$array=explode(",",$v); //再将拆开的数组重新组装 
$temp2[$k]["id"] =$array[0]; 
$temp2[$k]["litpic"] =$array[1]; 
$temp2[$k]["title"] =$array[2]; 
$temp2[$k]["address"] =$array[3]; 
$temp2[$k]["starttime"] =$array[4]; 
$temp2[$k]["endtime"] =$array[5]; 
$temp2[$k]["classid"] =$array[6]; 
$temp2[$k]["ename"] =$array[7]; 
} 
return $temp2; 
}
例3,PHP二维数组去重的例子。 
 
复制代码 代码示例:
<?php 
/**
* 二维数组去除重复项
* by www.jb200.com
*/
$arr = array( 
array('id' => 1,'name' => 'aaa'), 
array('id' => 2,'name' => 'bbb'), 
array('id' => 3,'name' => 'ccc'), 
array('id' => 4,'name' => 'ddd'), 
array('id' => 5,'name' => 'ccc'), 
array('id' => 6,'name' => 'aaa'), 
array('id' => 7,'name' => 'bbb'), 
); 
function assoc_unique(&$arr, $key) 
{ 
$rAr=array(); 
for($i=0;$i<count($arr);$i++) 
{ 
if(!isset($rAr[$arr[$i][$key]])) 
{ 
$rAr[$arr[$i][$key]]=$arr[$i]; 
} 
} 
$arr=array_values($rAr); 
} 
assoc_unique(&$arr,'name'); 
print_r($arr); 
?>
您可能感兴趣的文章:
php去除数组中重复数据的二个例子
php数组去重的函数代码示例
php数组去重(一维、二维数组去重)的简单示例
php 数组去重的方法参考(一维数组去重、二维数组去重)
一个去除二维数组中重复项的php函数
php判断与去除数组中重复数据的方法
去掉二维数组中的重复组合的实现代码
php 二维数组去重的自定义函数
php array_unique 一维数组去除重复值的例子
php数组去重的小例子