2014-07-13 3 views
0

PHP에서 배열 작업에 문제가 있습니다. 사각형 나누기 및 array_push 메서드가 예상대로 작동하지 않습니다. 그리고 심지어 모든 상상력으로도 배열에 대한 내 사고 방식이 무엇이 잘못되었는지 알 수 없습니다.PHP의 배열에 키 - 값 입력 추가

$users = array(); 
$users['4643'] = array("key1" => "value1"); 
$users['4643'] = array("key2" => "value2"); 
print_r($users); 

출력 :

내 코드입니다

Array 
(
    [4643] => Array 
     (
      [key2] => value2 
     ) 

) 

하지만 난 같을 것이다 그것을 예상 :

Array 
(
    [4643] => Array 
     (
      [key1] => value1 
      [key2] => value2 
     ) 

) 

에도 array_push와() - array_push ($ users [ '4643'], 배열 ("key2"=> "value2")); -이 배열되지 않은 경우 (배열 PHP 너무 ("[4643] => 배열")

말한다 - 난 $ 사용자 [ '4643']에 다른 배열을 추가 할 수 있을까?. 제발 도와주세요. 내가 배열 내 생각에 문제가 있다고 생각하지만, 배열에 대한 심지어 beginer에 자습서가 나를 도울 수 없습니다.

+1

두 번째 할당이 추가 한 첫 번째 배열을 덮어 쓰고 있습니다. –

+0

설정 대신에 다음과 같이 두 번째 배열을 추가 할 수 있습니다 :'$ users [ '4643'] + = array ("key2"=> "value2");'. –

+0

여러 가지 방법이 있습니다. – Popnoodles

답변

0

두 번째 할당을 추가 한 첫 번째 배열을 덮어 쓰지 않습니다.

을 대신 설정 배열의 값은 다음과 같습니다.

$users['4643'] = array(); 
$users['4643']["key1"] = "value1"; 
$users['4643']["key2"] = "value2"; 
+0

Perfect는 $ 사용자 없이도 작동합니다 [ '4643'] = array(); 그러나 array_push가 작동하지 않는 이유는 숫자 인덱스에서만 작동합니다 – Jannik