2017-02-24 53 views
0

在多维数组下面我将如何替换顶层指数[0][1] & [2]各自的价值从[SUB1]如何用数组的项目使用PHP替换多维数组的数组?

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');得到下面的数组,但我m不知道是否存在一个简单的函数来用它来替换原始数组中的索引值。

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,这个作品和表现不错。 –