[PHP-users 3330] Re: csv から抜き出したフィールドの配列生成について
Osamu Shigematsu
php-users@php.gr.jp
Tue, 06 Nov 2001 10:31:18 +0900
重松です。
> $fp = fopen("test.csv", "r");
>
> $i = 0;
> $csv = array();
> while ($ary = fgetcsv($fp, 1000, ',')) {
> array_push($csv, $ary); // $csv に $aryを追加
> }
単に配列の一番最後に要素を追加するならば、
$csv = array(); // 空の配列を用意する
while(false === ($item = fgetcsv($fp, 1000, ','))){
$csv[] = $item;
}
ってな感じでもいけると思います。
それよりも、単に $item を論理値 (boolean) として評価すると、
空白文字列、ゼロ なども false と誤って判定されると思います。
> 取り出すときは、
>
> reset($csv);
> while (list($key, $ary) = each($csv)) {
> print implode(',', $ary). "\n";
> }
PHP 4 なら foreach() 構文を使えば、もっとすっきりしますね。
foreach($csv as $key => $val)
print implode(', ',$val) . "\n";
--
Osamu Shigematsu
http://www.ravi.ne.jp/%7eshige/
mailto:shige@ravi.ne.jp