2017-02-24 12 views
0

PHP를 사용하여 다차원 배열의 배열을 해당 배열의 항목으로 바꾸는 방법? 내가 <code>[SUB1]</code>에서 각각의 값으로 최고 수준의 지표 <code>[0]</code><code>[1]</code> & <code>[2]</code>을 대체 할 방법을 아래 다차원 배열에서

Array 
(
    [0] => Array 
     (
      [SUB1] => AAA111 
      [SUB2] => Description 1 
      [SUB3] => 10 
     ) 

    [1] => Array 
     (
      [SUB1] => BBB222 
      [SUB2] => Description 2 
      [SUB3] => 20 
     ) 

    [2] => Array 
     (
      [SUB1] => CCC333 
      [SUB2] => Description 3 
      [SUB3] => 30 
     ) 

) 

나는 아래의 배열을 얻을 수 $sub1 = array_column($array, 'SUB1');을 사용하여 관리했습니다,하지만 난 ' 원래 배열의 인덱스를 값으로 대체하는 데 사용하는 간단한 함수가 있는지 확실하지 않습니다.

Array 
(
    [0] => AAA111 
    [1] => BBB222 
    [2] => CCC333 
) 

편집 :

원하는 출력 : $ 테스트는 메인 어레이와 동일한 경우

Array 
(
    [AAA111] => Array 
     (
      [SUB2] => Description 1 
      [SUB3] => 10 
     ) 

    [BBB222] => Array 
     (
      [SUB2] => Description 2 
      [SUB3] => 20 
     ) 

    [CCC333] => Array 
     (
      [SUB2] => Description 3 
      [SUB3] => 30 
     ) 

) 
+0

간단한 루프로 새 배열을 만들면 ... – CBroe

+1

예상되는 출력을 표시합니다. 어떤 식으로 원하시나요? –

+0

CBroe, 나는 그것을 고려했다. 그러나 큰 데이터 세트가 성능에 미치는 영향이 무엇인지 확신 할 수 없었다. –

답변

2

는, 예를 아래에 확인하시기 바랍니다.

$output = []; 
foreach ($test as $t) { 
    $first = reset($t); 
    $remaining = array_shift($t); 
    $output[$first] = $t; 
} 

echo '<pre>'; 
print_r($output); 
+0

감사합니다 Maulik,이 작품과 성능이 나쁘지 않습니다. –