Heim  >  Artikel  >  Backend-Entwicklung  >  php中array_unique去除二维数组中重复的数组_PHP教程

php中array_unique去除二维数组中重复的数组_PHP教程

WBOY
WBOYOriginal
2016-07-13 17:15:021075Durchsuche

一个利用php中array_unique实现去除二级数组重复值的方法,有需要的朋友可参考参考。

 代码如下 复制代码

$input = array(“a” => “green”,”", “red”,”b” => “green”, “”,”blue”, “red”,”c” => “witer”,”hello”,”witer”);
//$result = array_unique($input); //去除重复元素
$result = a_array_unique($input);?? //只留下单一元素
foreach($result as $aa)
{
echo $aa.”
”;
}
function multi_unique($array) {
foreach ($array as $k=>$na)
$new[$k] = serialize($na);
$uniq = array_unique($new);
foreach($uniq as $k=>$ser)
$new1[$k] = unserialize($ser);
return ($new1);
}

function a_array_unique($array)//写的比较好
{
$out = array();
foreach ($array as $key=>$value) {
if (!in_array($value, $out))
{
$out[$key] = $value;
}
}
return $out;
}
?>

array_unique函数只适用于一维数组,对多维数组并不适用,但是我们利用遍历数据然后再进行操作就可以实现array_unique去除重复数组了。

 代码如下 复制代码

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

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/628911.htmlTechArticle一个利用php中array_unique实现去除二级数组重复值的方法,有需要的朋友可参考参考。 代码如下 复制代码 ?php $input = array(a = green,, red,b = gre...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn