이 글에서는 2차원 배열에서 중복된 요소를 삭제하는 PHP의 구체적인 구현 방법을 주로 소개합니다!
이전 글에서 [PHP에서 배열의 중복 요소를 삭제하는 방법은 무엇입니까? ]에서 PHP에서 일반적인 1차원 배열을 삭제하는 방법을 소개해 드렸습니다. 필요한 친구들은 먼저 참고하시면 됩니다.
간단히 말하면 2차원 배열은 배열의 배열입니다. 요소를 선택하려면 두 개의 인덱스가 필요합니다.
아래에서는 2차원 배열에서 중복된 요소를 삭제하는 방법을 구체적인 코드 예시를 통해 자세히 소개하겠습니다!
<?php /** * PHP删除二维数组中的重复元素 */ // 对二维数组进行去重复 function more_array_unique($arr) { //先把二维数组中的内层数组的键值记录在在一维数组中 foreach ($arr[0] as $k => $v) { $arr_inner_key[] = $k; } foreach ($arr as $k => $v) { //降维 用implode()也行 $v = join(",", $v); //保留原来的键值 $temp[]即为不保留原来键值 $temp[$k] = $v; } //去重:去掉重复的元素 $temp = array_unique($temp); foreach ($temp as $k => $v) { //拆分后的重组 如:Array( [0] => 张三 [1] => 18 ) $a = explode(",", $v); //将原来的键与值重新合并 $arr_after[$k] = array_combine($arr_inner_key, $a); } return $arr_after; } $arr = [ ['name' => '张三', 'age' => 18], ['name' => 'Tom', 'age' => 19], ['name' => 'Tom', 'age' => 19], ['name' => '张三', 'age' => 50], ['name' => '王小二', 'age' => 30], ]; echo "<pre class="brush:php;toolbar:false">"; print_r(more_array_unique($arr));
이 코드에서는 "Zhang San"과 "Tom"이라는 두 쌍의 반복 요소가 있지만 나이가 다른 $arr의 2차원 배열을 정의합니다.
모두가 알아야 할 것은 array_unique() 함수는 1차원 배열에만 적용되므로 2차원 배열의 경우 함수 메서드를 직접 정의해야 하지만 array_unique() 함수를 사용할 수도 있습니다. .
위 코드 예시와 같이 2차원 배열에서 중복된 요소를 삭제하는 more_array_unique 메소드를 정의했습니다.
참고:
조인 함수는 이 함수의 별칭인 implode()입니다.
array_combine 함수: 한 배열의 값을 키 이름으로 사용하고 다른 배열의 값을 값으로 사용하여 배열을 만드는 것을 의미합니다.
#🎜 🎜#그림과 같이 우리는 사용자 정의된 more_array_unique 메소드를 통해 2차원 배열에서 완전히 반복되는 요소를 제거하고 유용한 정보를 유지합니다.
이 글은
2차원 배열에서 중복 요소를 삭제하는 PHP의 구체적인 방법에 관한 것입니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다! PHP에 대해 더 알고 싶다면 PHP 중국어 웹사이트
PHP 비디오 튜토리얼위 내용은 PHP의 2차원 배열에서 중복 요소를 삭제하는 방법은 무엇입니까? (사진 + 동영상)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!