データファイルはcsv。PHPで読み込むときのダブルクオーツとカンマのこと。

お客様は商品データをCSV管理。
私はそれを受け取って、サーバーに放り込めば、XMLで表示。というプログラム作成。

CSVはテキストファイルだから~。1行ずつ読み込んで~。「,(カンマ)」で区切って配列にして~。
なんて思って作ってたんですけど、はたと困る。

40,000円という表示。

お客様はもちろんCSVをエクセルで管理する。この手の表記はエクセルで吐き出すと”40,000円”,”50,000円”という風に、自動的にダブルクオーツで囲ってもらえる。大変ありがたい。

しかし、「,」で区切るプログラムを作っていたら、「40」「000円」と配列がばらけてしまった。

うわー。どうしよー。
しかし、お客様に「テキストエディタ使ってください」とかいえないし。まさか値段表示に「,」抜きでは。

number_formatを使ってということも考えたけど、指定した場所で必ず使われるとは限らない。

正規表現をつかった置換で何かするか。とかいろいろ考えていたらあっさり解決した。

fgetcsv関数。

PHP fgetcsv – Manual

便利だなぁ。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です