2014-06-17 43 views
1

我有一个大问题,因为我不知道如何从该数组中获取值,其中值是键入新数组的值。这是我的源阵列从数组中检索值,然后将其添加到新的PHP

Array 
(
    [0] => Array 
     (
      [ID] => 250602 
      [NAME] => qwe 
     ) 

    [1] => Array 
     (
      [ID] => 250603 
      [NAME] => wer 
     ) 

    [2] => Array 
     (
      [ID] => 250629 
      [NAME] => sdf 
     ) 

    [3] => Array 
     (
      [ID] => 250629 
      [NAME] => xcv 
     ) 

    [4] => Array 
     (
      [ID] => 250629 
      [NAME] => fghfgh 
     ) 

    [5] => Array 
     (
      [ID] => 250601 
      [NAME] => pggd 
     ) 

    [6] => Array 
     (
      [ID] => 250601 
      [NAME] => dfgdfg 
     ) 

    [7] => Array 
     (
      [ID] => 250606 
      [NAME] => dfgdfg 
     ) 
) 

当ID相同,将创建一个新的表看起来像如何foreach循环这样的id = 250629

[NAME] => Array 
     (
      [0] => sdf 
      [1] => xcv 
      [2] => fghfgh 
     ) 

回答

1

<?php 
$final_array=array(); 
foreach($arrays as $sub_arr){ //it will traverse loop for all sub-arrays 
    $final_array[$sub_arr['ID']][]=$sub_arr['NAME'];  
} 
print_r($final_array); //you should see expected output. 
?> 

将产品下面的输出为您给出的数据:

Array 
(
    [250602] => Array 
     (
      [0] => qwe 
     ) 

    [250603] => Array 
     (
      [0] => wer 
     ) 

    [250629] => Array 
     (
      [0] => sdf 
      [1] => xcv 
      [2] => fghfgh 
     ) 

    [250601] => Array 
     (
      [0] => pggd 
      [1] => dfgdfg 
     ) 

    [250606] => Array 
     (
      [0] => dfgdfg 
     ) 

) 

Working Demo

+1

很高兴看到我的答案如何帮助你弄明白;) – georg

+0

这是一个小的误解,然后发布我的答案,谢谢btw :) –

1

喜欢这个

$by_name = array(); 
foreach($your_array as $item) 
    $by_name[$item['ID']] []= $item['name']; 

这使得使用PHP的懒惰数组初始化([]=创建新数组隐式)。

如果你从mysql获得你的数组,你也可以考虑GROUP_CONCAT

+0

感谢作品,我不知道它可以如此简单 –

相关问题