现有数组:Array
(
    [0] => Array
        (
            [id] => 2
            [name] => aaaaaaa
        )    [1] => Array
        (
            [id] => 2
            [name] => bbbbbbb
        )    [2] => Array
        (
            [id] => 3
            [name] => ccccccc
        )    [3] => Array
        (
            [id] => 3
            [name] => ddddddd
        )    [4] => Array
        (
            [id] => 3
            [name] => eeeeeee
        ))
如何变成下面数组Array
(
    [0] => Array
        (
            [id] => 2
            [name] => Array
   (
[0] => aaaaaaa
[1] => bbbbbbb
           )
        )    [1] => Array
        (
            [id] => 3
            [name] => Array
   (
[0] => ccccccc
[1] => ddddddd
[2] => eeeeeee
           )
        )
)请高手指点!!~~~!!

解决方案 »

  1.   

    那可以用group_concat来连接具有相同条件的数据然后分组即可$sql = "SELECT `id`,GROUP_CONCAT(`name`) FROM WHERE GROUP BY id DESC";
    .......
    这样得到的数据就是name列的数据会变成一列
    然后你用$arrName = explode(',',$arr['name']);把这name列截取出来,
    然后把这个新数组添加到原来的大数组中去就可以了
      

  2.   

    感谢楼上,问题解决了一半,我从三个表里取出了数据,其中有俩个表的数据是必须在一起的,就是一问一答形式的,我用了你说的方法,所以现在又有一个问题出来了,数组如下
                [name] => Array
                    (
                        [0] => aaaaaaaaaaa
                        [1] => bbbbbbbbbbbbb
                    )            [content] => Array
                    (
                        [0] => ccccccccccccccccccc
                        [1] => ddddddddddddddddddddd
                    )现在想合并数组 ,我用了函数array_merge()这个函数合并后如下            [ask] => Array
                    (
                        [0] => aaaaaaaaaaa
                        [1] => bbbbbbbbbbbbb
                        [2] => ccccccccccccccccccc
                        [3] => ddddddddddddddddddddd
                    )而我想要的是:            [ask] => Array
                    (
                        [0] => aaaaaaaaaaa
                        [1] => ccccccccccccccccccc
                        [2] => bbbbbbbbbbbbb
                        [3] => ddddddddddddddddddddd
                    )有没有更好的方法,求解???
      

  3.   

    谢谢你,我解决了,我用了array_combine这个函数,把他们变成了  [aaaaaaaaaaa] => ccccccccccccccccccc 
      [bbbbbbbbbbbbb] => ddddddddddddddddddddd这个样子的了,然后用smarty的foreach直接叠了出来,谢谢你啊,我给你加分~~!!嘻嘻