가장 큰 차이점은 동일한 키 이름이 2개 이상의 배열에 나타날 경우 키 이름이 문자열 또는 숫자로 구분된다는 점입니다.
1) 키 이름이 array_merge()는 원래 값을 덮어쓰지 않지만 배열을 병합하면 첫 번째 값이 최종 결과로 반환되고 후속 배열에서 동일한 키 이름을 가진 해당 값을 "버립니다"( 덮어쓰지 않음)
2) 키 이름이 문자인 경우 +는 여전히 첫 번째 값을 최종 결과로 반환하고 동일한 키 이름을 가진 후속 배열에서 해당 값을 "삭제"하지만 array_merge ()는 동일한 키 이름으로 이전 값을 덮어씁니다. 값
배열 키 형식 'number'는 숫자
$a = array('a','b'); $b = array('c', 'd'); $c = $a + $b; var_dump($a); var_dump(array_merge($a, $b)); $a = array(0 => 'a', 1 => 'b'); $b = array(0 => 'c', 1 => 'b'); $c = $a + $b; var_dump($c); var_dump(array_merge($a, $b)); $a = array('a', 'b'); $b = array('0' => 'c', 1 => 'b'); $c = $a + $b; var_dump($c); var_dump(array_merge($a, $b)); $a = array(0 => 'a', 1 => 'b'); $b = array('0' => 'c', '1' => 'b'); $c = $a + $b; var_dump($c); var_dump(array_merge($a, $b));
결과
array 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'c' (length=1) 3 => string 'd' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'c' (length=1) 3 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'c' (length=1) 3 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) array 0 => string 'a' (length=1) 1 => string 'b' (length=1) 2 => string 'c' (length=1) 3 => string 'b' (length=1)
더 많은 PHP 병합 배열 + with array_merge 차이 분석 관련 글은 PHP 중국어 홈페이지를 주목해주세요!