>백엔드 개발 >PHP 튜토리얼 >PHP array_merge function_php 사용시 주의해야 할 문제

PHP array_merge function_php 사용시 주의해야 할 문제

WBOY
WBOY원래의
2016-05-16 20:18:521181검색

PHP 언어에서 array_merge 함수를 사용할 경우 동일한 키 이름을 덮어쓰게 될 것으로 생각되는데, 다음 코드를 참고하시기 바랍니다.

코드 복사 코드는 다음과 같습니다.

$a1 = 배열(1=>'abc', 3=>10);
$a2 = 배열(1=>'efg', 3=>20);
print_r(array_merge($a1, $a2));

무엇이 출력되나요? 우리가 예상한 내용은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

배열
(
[1] => [3] =>20
)

실제 출력은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
배열
(
[0] => [1] =>10
[2] => [3] =>20
)



덮어쓰지 않았을 뿐만 아니라, 숫자키가 연속적으로 다시 색인화되었습니다.
처음에는 버그인 줄 알고 PHP 매뉴얼 http://php.net/manual/zh/function.array-merge.php를 읽었습니다

「입력 배열에 동일한 문자열 키 이름이 있으면 키 이름 뒤의 값이 이전 값을 덮어씁니다. 그러나 배열에 숫자 키 이름이 포함되어 있으면 다음 값이 대신 원래 값을 덮어쓰지 않습니다.

에 추가하세요. 배열만 제공되고 배열이 숫자로 색인화되면 키 이름이 연속적으로 다시 색인화됩니다. 》

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