您的位置:首页 > 数码常识数码常识
php中去除数组重复值(php删除数组重复值)
2025-05-12人已围观
php中去除数组重复值(php删除数组重复值)
多维数组转换一直以来都是我最头疼的问题,每次写程序遇到这样的,我都要纠结好长时间了
php删除数组重复值
array_keys($array) //返回所有键名
array_values($array) //返回所有键值
$result=array_reverse($input); //将数组颠倒,不保留键名
$result_keyed=array_reverse($input,true); //将数组颠倒,保留键名
array_keys($array,"blue"); //返回值为blue的键名
1. PHP二维数组去重复项函数
PHP数组去除重复项 有个内置函数array_unique (),但是php的 array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组 的 array_unique函数
Php代码
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;
}
Php代码
$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));
$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));
二、将多维数组转换为一维,二维数组
//将多维转换在一维
function rebuild_array($arr){ //rebuild a array
static $tmp=array();
foreach($arr as $key=>$val){
if(is_array($val)){
$this->rebuild_array($val);
}else{
$tmp[]=$val;
}
}
return $tmp;
}
//将三维数据数组转换为二维
function rebuild_arrays($arr){ //rebuild a array
static $tmp=array();
foreach($arr as $key=>$val){
foreach($val as $k=>$v){
$tmp[]=$v;
}
}
return $tmp;
}
三、去掉数组中的最后一项
$name=array("orange","banana", "apple"," ");
array_pop ($name); //弹出尾部
print_r($name); //$name=array("orange","banana", "apple");
上面就是小居数码小编今天给大家介绍的关于(php删除数组重复值)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
怎么计算数组中元素的个数(PHP如何计算数组中元素的个数)
PHP数组转字符串教程(php字符串转字节)
php一维数组排序教程+(php多维数组排序函数)
c语言数组怎么初始化(c语言数组如何初始化为0)
154745
多维数组转换一直以来都是我最头疼的问题,每次写程序遇到这样的,我都要纠结好长时间了
php删除数组重复值
array_keys($array) //返回所有键名
array_values($array) //返回所有键值
$result=array_reverse($input); //将数组颠倒,不保留键名
$result_keyed=array_reverse($input,true); //将数组颠倒,保留键名
array_keys($array,"blue"); //返回值为blue的键名
1. PHP二维数组去重复项函数
PHP数组去除重复项 有个内置函数array_unique (),但是php的 array_unique函数只适用于一维数组,对多维数组并不适用,以下提供一个二维数组 的 array_unique函数
Php代码
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;
}
Php代码
$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));
$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));
二、将多维数组转换为一维,二维数组
//将多维转换在一维
function rebuild_array($arr){ //rebuild a array
static $tmp=array();
foreach($arr as $key=>$val){
if(is_array($val)){
$this->rebuild_array($val);
}else{
$tmp[]=$val;
}
}
return $tmp;
}
//将三维数据数组转换为二维
function rebuild_arrays($arr){ //rebuild a array
static $tmp=array();
foreach($arr as $key=>$val){
foreach($val as $k=>$v){
$tmp[]=$v;
}
}
return $tmp;
}
三、去掉数组中的最后一项
$name=array("orange","banana", "apple"," ");
array_pop ($name); //弹出尾部
print_r($name); //$name=array("orange","banana", "apple");
上面就是小居数码小编今天给大家介绍的关于(php删除数组重复值)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
怎么计算数组中元素的个数(PHP如何计算数组中元素的个数)
PHP数组转字符串教程(php字符串转字节)
php一维数组排序教程+(php多维数组排序函数)
c语言数组怎么初始化(c语言数组如何初始化为0)
154745
很赞哦! ()
上一篇:小米手机设置默认浏览器步骤(小米手机如何设置默认浏览器)
下一篇:返回列表