私の問題に関する議論のほとんどを読みましたが、解決策が見つかりません。そのため、読み取り、すべてのコンテンツを抽出し、多次元配列に入力する .csv ファイルがあります。それは私がそれを行うために書いたコードです:
if (($handle = fopen("dateRegion.csv", "r")) !== FALSE) {
# Set the parent multidimensional array key to 0.
$pr = 0;
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
# Count the total keys in the row.
$count = count($data);
# Populate the multidimensional array.
for ($x = 0; $x < $count; $x++) {
$brim[$pr][$x] = $data[$x];
}
$pr++;
}
fclose($handle);
}
その後、必要な要素を抽出して別の配列に入れます。その配列は、新しい .csv ファイルの内容になります。
これはコードです:
$parserCsv = array();
$dip=1;
do {
$region = $brim[$dip][7];
$sex = $brim[$dip][8];
$frequency = $brim[$dip][9];
$value = $brim[$dip][10];
$parserCsv[] = array($region, $sex, $frequency, $value);
$dip++;
} while($dip <= 6336);
これは、配列の「var_dump()」です。
Array(
[0] => Piemonte
[1] => maschi
[2] => 2005
[3] => 16.972)
等
そのスクリプトでメソッド fputcsv() を使用して、配列 $parserCsv の内容を入れようとしました:
$fp = fopen('csvExtract.csv', 'w');
foreach ($parserCsv as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
しかし、うまくいきませんでした。ファイル csvExtract.csv の内容は空白です。私は自分の間違いを理解していません。配列 $parserCsv を次のように作成するなど、他の解決策を試しました。
$parserCsv = array(
array($region), array($sex), array($frequency), array($value));
そして何も変わらない。誰かアドバイスがありますか?
編集: mkjasinski によって提案されたソリューションでコードを編集しました! コードは現在機能しています。すべての返信に感謝します。
ブルス