>  기사  >  백엔드 개발  >  배열 PHP 2차원 배열 중복 제거 문제 분석

배열 PHP 2차원 배열 중복 제거 문제 분석

WBOY
WBOY원래의
2016-07-29 08:46:14943검색

이전에 배열 중복 제거에 관한 기사를 썼지만 1차원 배열에 국한되었습니다. 2차원 배열에는 다음 함수를 사용할 수 있습니다.

코드 복사 코드는 다음과 같습니다.


//제거 2차원 배열의 중복 값
function array_unique_fb($array2D)
{
foreach ($array2D as $v)
{
$v = Join(",", $v); //차원 축소를 사용하여 1차원 배열을 쉼표로 연결된 문자열로 변환할 수도 있습니다.
$temp[] =
}
$temp = array_unique( $temp); //중복 문자열 제거, 즉 반복되는 1차원 배열
foreach ($temp as $k => $v)
{
$temp[$k] =explore (",",$v); // 그런 다음 디스어셈블된 배열을 재조립합니다.
}
return $temp>}

키 값을 유지하려는 경우 ​​배열의 경우 다음 함수를 사용할 수 있습니다.

코드 복사 코드는 다음과 같습니다.

//둘 -차원 배열은 중복 값을 제거하고 키 값을 유지합니다
function array_unique_fb($array2D)
{
foreach ($array2D as $k=>$v)
{
$v = Join(",",$v); //차원 축소를 위해 implode를 사용할 수도 있습니다. 1차원 배열을 쉼표로 연결된 문자열로 변환합니다.
$temp[$k] = $v; >}
$temp = array_unique($temp); //중복된 문자열도 제거합니다. 또한 반복되는 1차원 배열입니다.
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"]
$temp2[$k]["classid"] =$array[6];
$temp2[$k]["ename"] =$array[7]
}
return $temp2 ;
}


그렇습니다.

2차원 배열 중복 제거


코드 복사 코드는 다음과 같습니다.

$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'),
배열('id' => 7,'name' => 'bbb'),
)
function assoc_unique(&$arr, $key)
{
$rAr =배열( );
for($i=0;$i{
if(!isset($rAr[$arr[$i][$ 키]] ))
{
$rAr[$arr[$i][$key]]=$arr[$i]
}
}
$arr=array_values( $rAr)
}
assoc_unique(&$arr,'name')
print_r($arr)


위 내용은 배열 내용을 포함하여 배열 PHP 2차원 배열의 중복 제거 문제에 대한 분석을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.