>백엔드 개발 >PHP 튜토리얼 >PHP 연관 배열에서 중복 키를 처리하는 방법은 무엇입니까?

PHP 연관 배열에서 중복 키를 처리하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-15 15:58:16400검색

How to Handle Duplicate Keys in PHP Associative Arrays?

PHP 연관 배열에서 중복 키를 처리하는 방법

연관 배열은 키-값 쌍을 저장하는 데이터 구조로, 연관된 값을 기반으로 값을 효율적으로 검색할 수 있습니다. 열쇠. 그러나 기본적으로 연관 배열은 중복 키를 허용하지 않습니다.

다음 코드를 고려하세요.

function array_push_associative(&$arr) {
    $args = func_get_args();
    foreach ($args as $arg) {
        if (is_array($arg)) {
            foreach ($arg as $key => $value) {
                $arr[$key] = $value;
                $ret++;
            }
        } else {
            $arr[$arg] = "";
        }
    }
    return $ret;
}

이 함수는 연관 배열에 값을 추가하려고 시도하지만 기존 키를 다음으로 덮어씁니다. 같은 이름. 예를 들어, 이를 사용하여 다음과 같은 배열을 생성하는 경우:

$arr = [];
array_push_associative($arr, ['42' => 56], ['42' => 86], ['42' => 97]);

...결국 다음과 같습니다.

$arr = ['42' => 97];

이 제한을 극복하려면 중첩 배열 구조. 중복 키를 갖는 대신 여러 요소가 포함된 배열에 해당하는 고유 키를 사용할 수 있습니다. 예:

$arr = [
    '42' => [56, 86, 97],
    '51' => [64, 52],
];

이 방법을 사용하면 중첩 배열 구조를 통해 동일한 식별자와 연결된 여러 항목에 액세스할 수 있습니다.

위 내용은 PHP 연관 배열에서 중복 키를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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