이 글에서 공유하는 코드는 PHP에서 구현된 키 값을 기반으로 2차원 배열을 병합하고 중복을 제거하는 알고리즘입니다. 도움이 필요한 친구들이 참고할 수 있습니다
Requirements
이제 다음과 같은 2차원 배열 집합이 있습니다. 배열:
array(8) { [0]=> array(2) { ["name"]=> string(4) "name" ["value"]=> string(6) "青叶" } [1]=> array(2) { ["name"]=> string(5) "phone" ["value"]=> string(11) "13812341234" } [2]=> array(2) { ["name"]=> string(12) "fileds_507[]" ["value"]=> string(12) "我是青叶" } [3]=> array(2) { ["name"]=> string(12) "fileds_508[]" ["value"]=> string(6) "合肥" } [4]=> array(2) { ["name"]=> string(12) "fileds_509[]" ["value"]=> string(3) "男" } [5]=> array(2) { ["name"]=> string(12) "fileds_510[]" ["value"]=> string(6) "足球" } [6]=> array(2) { ["name"]=> string(12) "fileds_510[]" ["value"]=> string(6) "棒球" } [7]=> array(2) { ["name"]=> string(12) "fileds_511[]" ["value"]=> string(16) "2016-12-15T11:15" } }
배열의 값을 두 번째 차원 키 이름 이름 및 동일한 값과 병합하여 새 배열을 형성해야 합니다.
예를 들어 위 코드에서 fields_510이라는 두 개의 2차원 배열은 football과 Baseball의 값을 가진 배열로 병합되어야 합니다.
Thinking
PHP에서는 루프를 먼저 생각하기 때문에 여기서 루프 처리에 사용하는 것이 확실히 더 적합합니다. 이는 버블 정렬과 유사하므로 하나씩 비교하는 것이 가장 좋습니다. .
Code
코드는 다음과 같습니다.
$public_info = 数组; for ($i=0;$i<count($public_info);$i++) { for ($j=$i+1;$j<count($public_info);$j++) { if ($public_info[$j]['name'] == $public_info[$i]['name']) { $public_info[$i]['value'] .= ',' . $public_info[$j]['value']; unset($public_info[$j]); } } }
실행 결과:
array(7) { [0]=> array(2) { ["name"]=> string(4) "name" ["value"]=> string(6) "青叶" } [1]=> array(2) { ["name"]=> string(5) "phone" ["value"]=> string(11) "13812341234" } [2]=> array(2) { ["name"]=> string(12) "fileds_507[]" ["value"]=> string(12) "我是青叶" } [3]=> array(2) { ["name"]=> string(12) "fileds_508[]" ["value"]=> string(6) "合肥" } [4]=> array(2) { ["name"]=> string(12) "fileds_509[]" ["value"]=> string(3) "男" } [5]=> array(2) { ["name"]=> string(12) "fileds_510[]" ["value"]=> string(13) "足球,棒球" } [7]=> array(2) { ["name"]=> string(12) "fileds_511[]" ["value"]=> string(16) "2016-12-15T11:15" } }
위 내용은 이 글의 전체 내용입니다. 나는 그것이되기를 바랍니다. 모두의 공부에 도움이 됩니다.
관련 권장사항:
내장 함수를 사용하지 않고 문자열을 정수로 변환하는 PHP 방법에 대한 자세한 설명
PHP의 숫자 문자열이 연속적으로 곱해지는지 확인하는 방법
ThinkPHP 의 로그인 및 종료 기능적 메서드 구현
위 내용은 PHP 2차원 배열 중복 제거 알고리즘에 대한 자세한 그래픽 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!