と.CSVファイルに同じIDを持つ行をマージします:私は、私は同じ「ID」と「行」をマージしたいnames.csv、私はこのようなCSV-ファイルを持っているPHP
"id","name"
"1","John"
"2","Joe"
"3","Peter"
"4","Frank"
"5","Bill"
...
"2","Steve"
"5","James"
"2","Mark"
"4","Anthony"
次の結果に到達してください:
"id","name"
"1","John"
"2","Joe , Steve , Mark"
"3","Peter"
"4","Frank , Anthony"
"5","Bill , James"
私はこれをPHP言語で行いたいのですが、解決策はありません。 は私の自己によって私はいくつかのコードを作ったが、それは私のSERVERHOST(ループのループ)のために多くの作業になります:
$myFile = "merged-names.csv";
$fh = fopen($myFile, 'w') or die("can't open file");
if (($handle = fopen("names.csv", "r")) !== FALSE)
{
$line = fgets($handle);
$val = explode(",", $line);
$max = (count($val))/2;
for ($i=0; $i <= $max; $i+2)
{
$id = $val[$i];
$name = $val[$i+1];
$stringData = "\"".$id."\"".",";
fwrite($fh, $stringData);
$stringData = "\"".$name."\"";
fwrite($fh, $stringData);
for ($e=0; $e <= $max; $e+2)
{
if (strcmp($id, $val[$e]) == 0)
{
if($i != $e)
{
$stringData = "\"".$val[$e+1]."\"";
fwrite($fh, $stringData);
}
}
}
$stringData = "<br>";
fwrite($fh, $stringData);
}
fclose($handle);
}
誰かがこのために適切なソリューションで私を助けることができる、問題なので、単純に思えますか? ありがとうございます!ここで