>백엔드 개발 >PHP 튜토리얼 >PHP에서 배열을 병합할 때 키 유형을 어떻게 보존할 수 있습니까?

PHP에서 배열을 병합할 때 키 유형을 어떻게 보존할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-12 14:51:01526검색

How Can I Preserve Key Types When Merging Arrays in PHP?

PHP에서 배열 병합 중 키 유형 유지

PHP에서는 원래 문자열과 정수 인덱스를 유지하면서 두 배열을 결합해야 할 수도 있습니다. 그러나 기본 array_merge() 함수는 결과 배열을 연속된 정수로 다시 인덱싱합니다.

문제가 있는 원본 코드

// Array with string-indexed pairs
$staticIdentifications = [
    'userID'   => 'USERID',
    'username' => 'USERNAME'
];

// Array with integer-indexed pairs
$companyVarIdentifications = CompanyVars::getIdentificationVarsFriendly($_SESSION['companyID']);

// Unsuccessful Attempt to Merge with Preserved Key Types
$idVars = array_merge($staticIdentifications, $companyVarIdentifications);

해결책: 배열 추가

키 유형을 보존하려면 병합 중에 array_merge() 대신 연산자를 사용하세요.

$idVars = $staticIdentifications + $companyVarIdentifications;

이 작업은 각각의 키 유형을 유지하면서 두 배열을 연결합니다. 결과 $idVars 배열에는 입력 배열의 원래 구조를 반영하는 문자열과 정수 키가 모두 포함됩니다.

배열 추가의 이점

array_merge()와 달리 배열 추가:

  • 키와 값 간의 연결을 유지하는 데 중요한 원래 키 유형을 보존합니다.
  • 인덱스를 기반으로 배열 요소에 대한 참조를 중단할 수 있는 예기치 않은 재인덱싱을 방지합니다.
  • 제공 배열 연결에 대한 더 간단하고 직접적인 접근 방식입니다.

이 특정한 경우 $idVars 배열에는 문자열 키(예: 'userID')와 정수 키(예: 123)가 모두 포함되어 있습니다. 두 가지 유형의 키를 기반으로 값에 액세스합니다.

위 내용은 PHP에서 배열을 병합할 때 키 유형을 어떻게 보존할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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