2017-02-06 1 views
1

이것은 내 PHP 코드입니다. 그러면 MySQL 데이터베이스에서 데이터를 가져 와서 배열에 저장합니다.인덱싱 된 배열에서 연관 배열 - PHP

그래서, 처음에 나는이 배열을

$의 array_init있다;

print_r ($ array_init); 나는이

을 시도

Array ( 
    [2] => Jr KG) 
    [3] => Sr KG) 
    [4] => I) 
    [5] => II) 
    [6] => III) 
    [7] => IV) 
    [8] => V) 
    [9] => VI) 
    [10] => VII) 
    [11] => VIII) 
    [12] => IX) 
    [13] => X) 
) 

: 빠른

을 코딩 그래서

코딩하면서
Array ( 
    [0] => Array ([id] => 2 [class_name] => Jr KG) 
    [1] => Array ([id] => 3 [class_name] => Sr KG) 
    [2] => Array ([id] => 4 [class_name] => I) 
    [3] => Array ([id] => 5 [class_name] => II) 
    [4] => Array ([id] => 6 [class_name] => III) 
    [5] => Array ([id] => 7 [class_name] => IV) 
    [6] => Array ([id] => 8 [class_name] => V) 
    [7] => Array ([id] => 9 [class_name] => VI) 
    [8] => Array ([id] => 10 [class_name] => VII) 
    [9] => Array ([id] => 11 [class_name] => VIII) 
    [10] => Array ([id] => 12 [class_name] => IX) 
    [11] => Array ([id] => 13 [class_name] => X) 
) 

는 나는이 같은 연관 배열을 만들고 싶었 빠른 통과를 원했다
foreach ($array_init as $row_class) { 
     $classes[] = [$row_class['id']=>$row_class['class_name']]; 
} 

나는이

Array ([0] => Array ( 
    [2] => Jr KG) 
    [1] => Array ([3] => Sr KG) 
    [2] => Array ([4] => I) 
    [3] => Array ([5] => II) 
    [4] => Array ([6] => III) 
    [5] => Array ([7] => IV) 
    [6] => Array ([8] => V) 
    [7] => Array ([9] => VI) 
    [8] => Array ([10] => VII) 
    [9] => Array ([11] => VIII) 
    [10] => Array ([12] => IX) 
    [11] => Array ([13] => X) 
) 

이 BTW,이 질문 솔루션이 모두 다르기 때문에 중복이 아니다 얻었다.

+2

'$ 결과 = array_column ($ originalArray, 'class_name에', 'ID');' –

+0

@MarkBaker 감사합니다,이 내 대답을 제거 매력 –

답변

3

사용 array_column 기능 :

$classes = array_column($array_init, 'class_name', 'id'); 
+1

처럼 일 이게 더 좋기 때문에 –

+0

@RomanPerekhrest 고맙습니다. –

+0

@ SilberterDas, 오신 것을 환영합니다. – RomanPerekhrest