PHP:csv重构

PHP:csv重构,php,csv,Php,Csv,我是一个尝试代码的新手,有一个问题我想不通,希望能得到一些帮助 我有一个Csv文件,看起来像这样,总是id,url,但url/id的数量不同: 12345,wwwurl1 12345,wwwurl2 12345,wwwurl3 12346,wwwurl1 12347,wwwurl1 12347,wwwurl2 ...,... and so on 如何使其看起来像这样,更容易显示而不是解释我认为: 12345,"wwwurl1,wwwurl2,wwwurl3" 12346,"wwwurl1" 1

我是一个尝试代码的新手,有一个问题我想不通,希望能得到一些帮助

我有一个Csv文件,看起来像这样,总是id,url,但url/id的数量不同:

12345,wwwurl1
12345,wwwurl2
12345,wwwurl3
12346,wwwurl1
12347,wwwurl1
12347,wwwurl2
...,... and so on
如何使其看起来像这样,更容易显示而不是解释我认为:

12345,"wwwurl1,wwwurl2,wwwurl3"
12346,"wwwurl1"
12347,"wwwurl1,wwwurl2"
...,"...,..." and so on
基本上每个id只有一行,所有URL都添加了逗号分隔符


感谢您的帮助

谢谢你的回复。我认为我不会工作,因为文件不是静态的,它需要匹配id。此脚本正在将相同id-s的数据收集到串联字符串中。我已经测试过了,确实如此。您只需要尝试一下,这里有一个文件:只会得到非常高的apache负载,最终会出现500个错误。嗯,500个错误是另一个问题。是否更改文件的路径?我的只是为了展览。但你让我有点紧张。没问题,祝你好运。
<?php

$file = fopen(__DIR__ . '\\' . 'test.csv', 'r+');//your file
$fileResult = fopen(__DIR__ . '\\' . 'result.csv', 'w+');//result file
$rowInfo = [];

while (($data = fgetcsv($file, 0, ",")) !== FALSE) {
    $rowInfo[$data[0]] .= $data[1] . ',';
}

foreach ($rowInfo as $key => $value) {
    fputcsv($fileResult,[$key,rtrim($value, ",")]);
}

fclose($file);
fclose($fileResult);