2013-05-02 43 views
-2

我有这个数组在我的代码如何根据重复值合并数组值?

Array 
(
[0] => Array 
    (
     [0] => Roof setting 
     [1] => [2013-04-22,7] 
    ) 

[1] => Array 
    (
     [0] => Garbage Collection 
     [1] => [2013-04-22,22] 
    ) 

[2] => Array 
    (
     [0] => Sales Payout 
     [1] => [2013-04-22,10] 
    ) 

[3] => Array 
    (
     [0] => Sales Payout 
     [1] => [2013-04-25,10] 
    ) 

[4] => Array 
    (
     [0] => Sales Payout 
     [1] => [2013-04-25,10] 
    ) 

[5] => Array 
    (
     [0] => Fix cable car2 
     [1] => [2013-04-24,77.79] 
    ) 

[6] => Array 
    (
     [0] => Fix cable car2 
     [1] => [2013-04-25,77.79] 
    ) 

) 

现在我想的形式获得这个数组,每个重复标签它显示沿着这些标签多倍。结果,标签只有一个时间和日期宋衍涛应像这样

Array 
(
    'label': => Roof setting 
     (

     'data:' => [2013-04-22,7] 
    ), 

    'label' => Garbage Collection 
    (

     'data': => [2013-04-22,22] 
    ) 

'label' => Sales Payout 
    (

     'data:' => [[2013-04-22,10],[2013-04-25,10],[2013-04-25,10]] 
    ) 



    'label' =>Fix cable car2 
    (
     'data' => [[2013-04-24,77.79[,2013-04-25,77.79]] 
     [1] => [2013-04-24,77.79[ 
    ) 
) 
+2

有关如何提问的见解,请参阅http://whathaveyoutried.com。你目前的问题不会得到任何帮助! – 2013-05-02 08:05:22

+0

我认为你只需要一个foreach循环 – Drahcir 2013-05-02 08:06:07

回答

0

你可以prolly得到你想要的是这样的结果:

foreach($array as $arr) 
    $out[$arr[0]][] = $arr[1]; 

其中$阵列I包含数据的数组。

+0

你可以请好吧,我不明白你在说什么 – user2342189 2013-05-02 08:21:29

+0

上面的代码是循环通过包含你的数据的数组。然后,它创建一个新的数组$ out,它将创建原始数组中的第一个值,即新数组中的一个键,然后将下列日期添加到同一个键下的数组中。 尝试运行上面的foreach循环,然后执行print_r($ out)来查看新数组的结构。可能有助于理解它的功能。 – 2013-05-02 08:26:26

+0

请你重新编写代码本 – user2342189 2013-05-02 09:20:22