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

如何将PHP二维数组输出为指定格式的多行语句?

PHP二维数组转指定行格式输出

针对你这种列结构的二维数组(每个键对应同字段的所有值),要转成行对应一组数据的格式,不需要嵌套多层foreach绕弯路,直接按索引遍历即可:

实现代码

// 你的原数组示例
$sourceData = [
    'NUM' => [101, 102, 103],
    'NOM' => ['LEPETIT', 'DURAND', 'DUPONT'],
    'PRENOM' => ['Lukos', 'Pierre', 'Thiery']
];

// 获取数据总行数(默认取第一个字段的长度,确保所有字段数据量一致)
$totalRows = count(reset($sourceData));

// 遍历每一行索引
for ($i = 0; $i < $totalRows; $i++) {
    $currentLine = [];
    // 遍历每个字段,拼接当前行的键值对
    foreach ($sourceData as $field => $values) {
        $currentLine[] = "{$field}:{$values[$i]}";
    }
    // 输出拼接好的一行内容
    echo implode(' ', $currentLine) . PHP_EOL;
}

说明

  1. 用reset($sourceData)快速获取第一个字段的数组,通过count得到总行数,前提是所有字段的子数组长度一致;如果存在长度不一致的情况,可以用min(array_map('count', $sourceData))取最小长度,避免索引越界。
  2. 外层循环控制行索引,内层循环遍历所有字段,把当前索引对应的字段值和字段名拼接成字符串,存入临时数组。
  3. 最后用implode把临时数组的元素用空格连接,输出完整的一行,加上PHP_EOL实现换行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 23:31:00