PHP에서 배열 병합 및 중복 제거
PHP 배열로 작업할 때 여러 배열을 단일 배열로 병합해야 하는 경우가 많습니다. 그러나 최종 배열에서 중복된 값을 피하는 것이 중요합니다.
두 배열 병합
두 배열을 병합하려면 array_merge() 함수를 사용할 수 있습니다.
$array1 = [ (object) [ 'ID' => 749, 'post_author' => 1, 'post_date' => '2012-11-20 06:26:07', 'post_date_gmt' => '2012-11-20 06:26:07' ] ]; $array2 = [ (object) [ 'ID' => 749, 'post_author' => 1, 'post_date' => '2012-11-20 06:26:07', 'post_date_gmt' => '2012-11-20 06:26:07' ] ]; $mergedArray = array_merge($array1, $array2);
$mergedArray에는 $array1과 $array2의 두 요소가 모두 포함됩니다. 그러나 $array2의 중복 개체도 포함되므로 바람직하지 않을 수 있습니다.
중복 항목 제거
중복 항목을 제거하려면 array_unique()를 사용할 수 있습니다. 기능. 이 함수는 배열을 인수로 사용하고 중복 값이 제거된 새 배열을 반환합니다. array_merge()와 array_unique()를 결합하여 배열을 병합하고 중복 항목을 제거할 수 있습니다.
$mergedAndUniquedArray = array_unique(array_merge($array1, $array2), SORT_REGULAR);
SORT_REGULAR 플래그는 중복 항목을 제거하기 전에 배열이 해당 요소의 값을 기준으로 정렬되도록 합니다. 이는 병합할 때 원래 배열의 순서를 유지하려는 경우 중요할 수 있습니다.
또한 array_map()과 spl_object_hash()의 조합을 사용하여 배열에서 중복 개체를 제거할 수도 있습니다.
$removeDuplicatesUsingObjects = function ($object) { return spl_object_hash($object); }; $mergedAndUniquedArray = array_map($removeDuplicatesUsingObjects, array_merge($array1, $array2)); $mergedAndUniquedArray = array_unique($mergedAndUniquedArray);
이 방법은 spl_object_hash() 함수를 사용하여 각 개체에 대한 고유 식별자를 생성한 다음 이러한 식별자를 기반으로 중복을 제거합니다.
위 내용은 중복 값을 제거하면서 여러 PHP 배열을 병합하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!