用逗号代表Key对值进行分组

如何根据相同的键按逗号对每个值进行分组,数组是:


Array

(

    [0] => Array

        (

            [0] => 201767.11

            [1] => 514324.91

            [2] => 73205.74

        )


    [1] => Array

        (

            [0] => 349399.51

            [1] => 647217.10

            [2] => 3500.00

        )


    [2] => Array

        (

            [0] => 285169.05

            [1] => 522357.20

            [2] => 10.00

        )


    [3] => Array

        (

            [0] => 126858.21

            [1] => 185190.59

            [2] => 0

        )


)

结果:


Array

(


            [0] => "201767.11, 349399.51, 285169.05, 126858.21",

            [1] => "514324.91, 647217.10, 522357.20, 185190.59",

            [2] => "73205.74, 3500.00, 10.00,0"


)


白衣非少年
浏览 176回答 2
2回答

江户川乱折腾

只需逐步提取每一列并加入它。这仅适用于子数组,如基于 0 的顺序索引所示:$i = 0;while($new = array_column($array, $i)) {    $result[] = implode(', ', $new);    $i++;}对于其他非基于 0 的、非顺序的、非整数的,只需在提取和连接之前重新索引子数组:$array = array_map(function($v) { return array_values($v); }, $array);

繁华开满天机

使用可以使用array_map$arr = array_map(null, ...$arr);$temp = array_map(function($item){    return implode(", ", $item);},$arr);输出:Array(    [0] => 201767.11, 349399.51, 285169.05, 126858.21    [1] => 514324.91, 647217.1, 522357.2, 185190.59    [2] => 73205.74, 3500, 10, 0)如果你想使用单线$temp = array_map(function ($item) {return implode(", ", $item); }, array_map(null, ...$arr)); 请注意使用array_mapwithnull对获取每个子数组的第 n 个索引的子数组进行分组。... splat 运算符,我们使用它作为参数公开给函数。
打开App,查看更多内容
随时随地看视频慕课网APP