You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP数据库取数后:如何将数组转为指定键值对格式展示?

嘿,这个需求其实挺容易实现的,我分两种常用的后端编程语言给你拆解步骤~

假设你用的是PHP

首先先模拟下你从数据库拿到的原始数组(大概率是每条记录对应一个数组元素,包含id和对应的代码):

// 模拟从数据库获取的原始数据
$dbResult = [
    ['id' => 5, 'code' => 'UL7'],
    ['id' => 5, 'code' => 'LL5'],
    ['id' => 6, 'code' => 'UR9'],
    ['id' => 6, 'code' => 'UL7'],
];

要转换成你要的格式,只需要两步:

  • 第一步:把相同id对应的code合并到一起
  • 第二步:遍历合并后的数组,拼接成「id => 代码列表」的格式

具体代码实现:

// 第一步:按id分组聚合code
$groupedData = [];
foreach ($dbResult as $item) {
    $id = $item['id'];
    // 如果这个id还没在分组数组里,先初始化一个空数组
    if (!isset($groupedData[$id])) {
        $groupedData[$id] = [];
    }
    // 把当前code加到对应id的数组里
    $groupedData[$id][] = $item['code'];
}

// 第二步:输出目标格式
foreach ($groupedData as $id => $codes) {
    // 把code数组转成逗号分隔的字符串
    $codeStr = implode(',', $codes);
    // 拼接成你要的格式并输出
    echo "「{$id} => {$codeStr}」\n";
}

运行这段代码后,输出就是:

「5 => UL7,LL5」
「6 => UR9,UL7」

如果是Python的情况

同样先模拟原始数据:

# 模拟从数据库获取的原始列表
db_result = [
    {'id': 5, 'code': 'UL7'},
    {'id': 5, 'code': 'LL5'},
    {'id': 6, 'code': 'UR9'},
    {'id': 6, 'code': 'UL7'},
]

实现代码逻辑类似:

# 第一步:按id分组聚合code
grouped_data = {}
for item in db_result:
    item_id = item['id']
    if item_id not in grouped_data:
        grouped_data[item_id] = []
    grouped_data[item_id].append(item['code'])

# 第二步:输出目标格式
for item_id, codes in grouped_data.items():
    code_str = ','.join(codes)
    print(f"「{item_id} => {code_str}」")

运行后同样会得到你想要的输出~

小提示

如果你的原始数组结构和我模拟的不一样(比如已经是按id分组好的?),只需要调整下聚合的逻辑就行。核心思路就是先按key(这里是id)把对应的值聚合到一起,再把聚合后的数组转成逗号分隔的字符串,最后拼接成你要的格式。

内容的提问来源于stack exchange,提问作者Nikita Agrawal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:27:14