プロが教えるわが家の防犯対策術!

いつもお世話になっております。

下記のプログラムを実行しますと、
999,test,90,
999,test,90,
999,test,90,
のようになりますが、
行末の最後のカンマを取り除きたいです。
すみません。どの部分修正すればよいか、ご教授いただきたくどうぞよろしくお願い致します。

<?php

$file_name="test.csv";

$id=999;
$name="test";
$point=90;

$array = compact("id","name","point");

$string = implode(",",$array);

$file = fopen($file_name,"a+") or die("OPENエラー{$file_name}");

flock($file,LOCK_EX);

fputs($file,mb_convert_encoding($string."\n",'Shift-JIS','UTF-8'));

flock($file,LOCK_UN);
fclose($file);


$file = fopen($file_name,"r");
while ($row = fgetcsv($file,1000,",")){
echo "<hr>";
for ($i = 0 ; $i<count($row); $i++){
echo mb_convert_encoding($row[$i].",",'UTF-8','Shift-JIS');
}


}
fclose($file);


?>

A 回答 (2件)

んー、やりたい事がイマイチ良く分かりませんが、質問された事にだけ答えるなら、俺は以下のようにしますかね~。



↓この3行を

for ($i = 0 ; $i<count($row); $i++){
echo mb_convert_encoding($row[$i].",",'UTF-8','Shift-JIS');
}

↓この2行に書き換え。

$str = implode("," , $row);
echo mb_convert_encoding($str,'UTF-8','Shift-JIS');

まぁ、動作確認はしておりませんので、何か間違っていたらすみません。(; ̄ー ̄ A

http://php.net/manual/ja/function.implode.php
    • good
    • 0
この回答へのお礼

感謝します!

解決しました!!

ありがとうございます。

お礼日時:2011/02/14 00:10

カンマを取り除きたい文字列に対して、



rtrim([対象の文字列], ',');

とされてみては如何でしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。

感謝します。

お礼日時:2011/02/14 00:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!