二维数组去掉重复值
$array2D = array(
array('whitename' => 'dsfsdfsdfs', 'whitepaas' => 42342352),
array('whitename' => 'lss_ni321', 'whitepaas' => 124623),
array('whitename' => '458223@qq.com', 'whitepaas' => 12775566),
array('whitename' => 'lss_ni321', 'whitepaas' => 124623 ),
);
function array_unique_fb($array2D)
{
foreach ($array2D as $v)
{
$v = join(",",$v);
$temp[] = $v;
}
$temp = array_unique($temp);
foreach ($temp as $k => $v)
{
$temp[$k] = explode(",",$v);
}
return $temp;
}
$ca = array_unique_fb($array2D);
var_dump($ca);
array(3) {
[0]=>
array(2) {
[0]=>
string(10) "dsfsdfsdfs"
[1]=>
string(8) "42342352"
}
[1]=>
array(2) {
[0]=>
string(9) "lss_ni321"
[1]=>
string(6) "124623"
}
[2]=>
array(2) {
[0]=>
string(13) "458223@qq.com"
[1]=>
string(8) "12775566"
}
}
如果你想保留数组的键值,可以用下面的函数:
$array2D = array(
array('whitename' => 'dsfsdfsdfs', 'whitepaas' => 42342352),
array('whitename' => 'lss_ni321', 'whitepaas' => 124623),
array('whitename' => '458223@qq.com', 'whitepaas' => 12775566),
array('whitename' => 'lss_ni321', 'whitepaas' => 124623 ),
);
function array_unique_fb($array2D)
{
foreach ($array2D as $k=>$v)
{
$v = join(",",$v);
$temp[$k] = $v;
}
$temp = array_unique($temp);
foreach ($temp as $k => $v)
{
$array=explode(",",$v);
$temp2[$k]["whitename"] =$array[0];
$temp2[$k]["whitepaas"] =$array[1];
}
return $temp2;
}
$ca = array_unique_fb($array2D);
var_dump($ca);
array(3) {
[0]=>
array(2) {
["whitename"]=>
string(10) "dsfsdfsdfs"
["whitepaas"]=>
string(8) "42342352"
}
[1]=>
array(2) {
["whitename"]=>
string(9) "lss_ni321"
["whitepaas"]=>
string(6) "124623"
}
[2]=>
array(2) {
["whitename"]=>
string(13) "458223@qq.com"
["whitepaas"]=>
string(8) "12775566"
}
}
二位数组去重
function assoc_unique(&$arr, $key) {
$tmp_arr = array();
foreach ($arr as $k => $v) {
if (in_array($v[$key], $tmp_arr)) {
unset($arr[$k]);
} else {
$tmp_arr[] = $v[$key];
}
}
sort($arr);
return $arr;
}
$array2D = array(
array('whitename' => 'dsfsdfsdfs', 'whitepaas' => 42342352,'il_id' =>519 ,'desc' => "不清楚" ,'limit_type' => 3),
array('whitename' => 'lss_ni321', 'whitepaas' => 124623,'il_id' =>519 ,'desc' => "不清楚1" ,'limit_type' => 3),
array('whitename' => '458223@qq.com', 'whitepaas' => 12775566,'il_id' =>519 ,'desc' => "不清楚2" ,'limit_type' => 3),
array('whitename' => 'lss_ni321', 'whitepaas' => 124624,'il_id' =>519 ,'desc' => "不清楚1" ,'limit_type' => 3),
);
$key = 'whitename';
assoc_unique($array2D, $key);
print_r($array2D);
array(3) {
[0]=>
array(5) {
["whitename"]=>
string(13) "458223@qq.com"
["whitepaas"]=>
int(12775566)
["il_id"]=>
int(519)
["desc"]=>
string(10) "不清楚2"
["limit_type"]=>
int(3)
}
[1]=>
array(5) {
["whitename"]=>
string(10) "dsfsdfsdfs"
["whitepaas"]=>
int(42342352)
["il_id"]=>
int(519)
["desc"]=>
string(9) "不清楚"
["limit_type"]=>
int(3)
}
[2]=>
array(5) {
["whitename"]=>
string(9) "lss_ni321"
["whitepaas"]=>
int(124623)
["il_id"]=>
int(519)
["desc"]=>
string(10) "不清楚1"
["limit_type"]=>
int(3)
}
}
二位去重
$array2D = array(
array('whitename' => 'dsfsdfsdfs', 'whitepaas' => 42342352,'il_id' =>519 ,'desc' => "不清楚" ,'limit_type' => 3),
array('whitename' => 'lss_ni321', 'whitepaas' => 124623,'il_id' =>519 ,'desc' => "不清楚1" ,'limit_type' => 3),
array('whitename' => '458223@qq.com', 'whitepaas' => 12775566,'il_id' =>519 ,'desc' => "不清楚2" ,'limit_type' => 3),
array('whitename' => 'lss_ni321', 'whitepaas' => 124624,'il_id' =>519 ,'desc' => "不清楚1" ,'limit_type' => 3),
);
$data = array_values(array_column($array2D, NULL, 'whitename'));
var_dump($data);
array(3) {
[0]=>
array(5) {
["whitename"]=>
string(10) "dsfsdfsdfs"
["whitepaas"]=>
int(42342352)
["il_id"]=>
int(519)
["desc"]=>
string(9) "不清楚"
["limit_type"]=>
int(3)
}
[1]=>
array(5) {
["whitename"]=>
string(9) "lss_ni321"
["whitepaas"]=>
int(12775566)
["il_id"]=>
int(519)
["desc"]=>
string(10) "不清楚3"
["limit_type"]=>
int(3)
}
[2]=>
array(5) {
["whitename"]=>
string(13) "458223@qq.com"
["whitepaas"]=>
int(12775566)
["il_id"]=>
int(519)
["desc"]=>
string(10) "不清楚2"
["limit_type"]=>
int(3)
}
}
二位数组 去重
$str = '{
"status": 0,
"result": [
{
"hostName": "杨新",
"pcode2": "41675441",
"email": "xin.yang@xx.cn",
"selfName": "邵兵"
},
{
"hostName": "杨新",
"pcode2": "41675441",
"email": "xin.yang@xx.cn",
"selfName": "邵兵"
},
{
"hostName": "中信国安科技控股有限公司",
"pcode2": "9730284461",
"email": "liuxiao@gakj.xx.com",
"selfName": "邵兵"
},
{
"hostName": "中信国安科技控股有限公司",
"pcode2": "9730284461",
"email": "liuxiao@gakj.xx.com",
"selfName": "邵兵"
},
{
"hostName": "刘惠",
"pcode2": "64068956",
"email": "huijie.liu@xx.cn",
"selfName": "邵兵"
},
{
"hostName": "刘惠",
"pcode2": "64068956",
"email": "huijie.liu@xx.cn",
"selfName": "邵兵"
},
{
"hostName": "刘凯南",
"pcode2": "14818360",
"email": "kainan.liu_3@xx.cn",
"selfName": "邵兵"
},
{
"hostName": "刘凯南",
"pcode2": "14818360",
"email": "kainan.liu_3@xx.cn",
"selfName": "邵兵"
},
{
"hostName": "宋纬奇",
"pcode2": "62947142",
"email": "weiqi.song@xx.cn",
"selfName": "邵兵"
},
{
"hostName": "宋纬奇",
"pcode2": "62947142",
"email": "weiqi.song@xx.cn",
"selfName": "邵兵"
}
],
"content_type": "application/json"
}';
$res = json_decode($str, true);
echo 'num: ' . count($res['result']);
print_r($res['result']);
echo "</br></br></br>";
$rrr = $res['result'];
$serializeArrs = array_map('serialize', $rrr);
$uniqueArrs = array_unique($serializeArrs);
$unserializeArrs = array_map('unserialize', $uniqueArrs);
print_r($unserializeArrs);
echo "</br></br></br>";
echo json_encode($unserializeArrs);
php二维数组去重的方法