PHP에서 배열 연결: 연산자가 실패하는 이유
" " 연산자를 사용하여 배열을 결합하려고 하면 예상치 못한 결과가 발생할 수 있습니다. 다음 코드를 고려하십시오.
$array = array('Item 1'); $array += array('Item 2'); var_dump($array);
출력:
array(1) { [0] => string(6) "Item 1" }
이것이 작동하지 않는 이유는 무엇입니까?
키 및 중복
문제는 배열 키와 중복 값에 있습니다. 주어진 코드의 두 배열 모두 키가 "0"이므로 중복 값이 서로 덮어쓰게 됩니다. 원래 순서를 유지하고 중복을 방지하기 위해 PHP는 "0" 키의 첫 번째 값을 사용합니다.
해결책: 배열 병합
배열을 올바르게 연결하려면 array_merge를 사용하세요. ():
$arr1 = array('foo'); // Same as array(0 => 'foo') $arr2 = array('bar'); // Same as array(0 => 'bar') $combined = array_merge($arr1, $arr2);
array_merge()는 키-값 쌍을 유지하면서 배열을 병합합니다.
연산자를 사용해야 하는 경우
" " 연산자 다른 키로 배열을 결합할 때 여전히 유용합니다.
$arr1 = array('one' => 'foo'); $arr2 = array('two' => 'bar'); $combined = $arr1 + $arr2;
결과는 다음과 같습니다.
array('one' => 'foo', 'two' => 'bar');
요약하면 배열을 연결하여 순서를 유지하고 키 충돌을 방지하려면 array_merge()를 사용하세요. . 고유 키가 있는 배열을 병합하려면 " " 연산자를 사용하세요.
위 내용은 PHP 배열을 결합할 때 ( ) 연산자가 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!