PHP 배열의 결합 연산자: " =" Enigma 공개
PHP에서 배열은 다양한 조작 옵션을 제공하며 흥미로운 연산자 중 하나는 다음과 같습니다. " =". 이 연산자를 사용하면 두 배열을 병합할 수 있지만 특정 요소가 명백히 누락되어 일반적인 오해가 발생합니다. 이 동작을 밝히기 위해 " ="의 내부 작동 방식과 배열 조합에 대한 고유한 접근 방식을 자세히 살펴보겠습니다.
배열에 적용할 때 " ="는 오른쪽 배열의 요소를 왼쪽 배열. 그러나 중복 키의 경우 왼쪽 배열의 요소를 선호하고 오른쪽 배열의 해당 요소를 삭제합니다. 이 동작은 고유한 요소만 유지되는 결합 연산을 모방합니다.
설명하기 위해 다음 코드를 고려하세요.
$test = array('hi'); $test += array('test', 'oh');
결과 배열 $test에는 "hi"라는 두 요소만 포함됩니다. 그리고 "오". 이는 왼쪽 배열에서 "hi"가 보존되고 중복 키로 인해 "test"가 무시되기 때문에 발생합니다.
"="의 기술적 기반을 이해하기 위해 PHP 언어 연산자를 살펴보겠습니다. "연산자는 왼쪽 배열에 추가된 오른쪽 배열을 반환합니다. 두 배열에 모두 존재하는 키의 경우 왼쪽 배열의 요소가 사용되고 오른쪽의 일치하는 요소가 사용됩니다. 배열은 무시됩니다."
기본적으로 " ="는 오른쪽 배열을 반복하고 누락된 키를 왼쪽 배열에 추가하는 방식으로 작동합니다. 왼쪽 배열에 이미 존재하는 키는 덮어쓰이지 않습니다. 이 동작은 중복 키에 관계없이 배열을 결합하여 더 큰 병합 배열을 생성하는 array_merge()와 다릅니다.
예:
$array1 = ['one', 'two', 'foo' => 'bar']; $array2 = ['three', 'four', 'five', 'foo' => 'baz']; $union = $array1 + $array2;
결과 $union 배열에는 다음이 포함됩니다.
[ 'one' => 'one', // preserved from $array1 'two' => 'two', // preserved from $array1 'foo' => 'bar', // preserved from $array1 'five' => 'five', // added from $array2 ]
" ="의 미묘한 동작을 이해하면 개발자가 배열을 효율적으로 조작하여 데이터가 유지되도록 할 수 있습니다. 온전하고 정리되어 있습니다.
위 내용은 ' =' 연산자는 PHP 배열과 어떻게 작동하며 왜 공용체처럼 동작합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!