php 数组二维数组转换

$oldArr = [
    ['a', 1],
    ['', 2],
    ['', 3],
    ['b', 4],
    ['', 5],
    ['c',6],
    ['',7]
];

转换为

$newArr = [
    'a'=>'1,2,3',
    'b'=>'4,5',
    'c'=>'6,7'
]
阅读 3.5k
3 个回答
<?php

$oldArr = [
    ['a', 1],
    ['', 2],
    ['', 3],
    ['b', 4],
    ['', 5],
    ['c',6],
    ['',7]
];

$newArray = [];

$temp = '';
foreach ($oldArr as $item) {
    if ($item[0]) {
        $temp = $item[0];
        $newArray[$temp] = $item[1];
        continue;
    }
    $newArray[$temp] .= ','.$item[1];
}

var_dump($newArray);

难道不应该想想,数组为什么会拼接成这样么?

感觉从数据库取出来的时候,可以用mysql内置函数处理
例如concat()或者concat_group()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题