2012-09-12 4 views
4

키를 변경합니다array_merge 나는 다음과 같은 배열을 가지고

$arr = array(6 => 'Somedata', 7 => 'Somedata1', 8 => 'Somedata2'); 

문제는 내가 array_merge((array) "Select the data", $arr);를 사용하는 경우, 그것은으로 배열의 키를 변경하지,이다 :

Array 
(
    [0] => Not specified 
    [1] => Somedata 
    [2] => Somedata1 
    [3] => Somedata2 
) 

수는 건너 뛸 것입니다 array_merge 키 프리 버전이므로 출력이 이렇게 보일까요?

Array 
(
    [0] => Not specified 
    [6] => Somedata 
    [7] => Somedata1 
    [8] => Somedata2 
) 
+0

우리에게 코드를 보여주십시오. 'array_merge'는 [기본적으로 키를 보존합니다.] (http://codepad.org/I9YcWzdl) – Peter

+0

@EXQStudio 코드는 제 질문의 두 번째 줄에 있으며, 간단한'array_merge (array) "가 있습니다. 데이터" , $ arr);'그 다음에'print_r'이 덤프됩니다. – Sapp

+0

왜 문자열을 배열로 변환합니까? 왜'Array ("데이터 선택")을하지 않습니까? – Peter

답변

8

는이 개 배열의 조합을 만들 수 + operator를 사용

$arr = array(6 => 'Somedata', 7 => 'Somedata1', 8 => 'Somedata2'); 

$result = (array)'Select the data' + $arr; 

var_dump($result); 

결과 :

array(4) { 
    [0]=> 
    string(15) "Select the data" 
    [6]=> 
    string(8) "Somedata" 
    [7]=> 
    string(9) "Somedata1" 
    [8]=> 
    string(9) "Somedata2" 
} 
+0

감사합니다. 작동 중입니다! :-) – Sapp

+0

배열이 같은 키를 가지고 있다면 데이터를 덮어 쓸 수 있습니다. '$ arr = array (0 => 'Somedata', 7 => 'Somedata1', 8 => 'Somedata2');를 입력으로 실행 해보십시오. – Fluffeh