基本的に、HTML アップロード フォームを介して CSV ファイルを読み込み、それを PHP に保存しています。どうにかしてファイルを 1 行ずつ出力するには、foreach ループを作成する必要があります。
正直なところ、以前にPHP foreachループを設計したことがないため、これを行う方法がわかりません。
これは、CSV ファイルから多次元配列をキャプチャして保存するコードです。
$csv_array = array(array());
$file = fopen($_FILES['upload_csv']['tmp_name'], 'r');
if($file)
{
while (($line = fgetcsv($file)) !== FALSE)
{
$csv_array[] = array_combine(range(1, count($line)), array_values($line));
}
fclose($file);
}
これは私の現在の foreach ループで、まったくうまく機能していません。これをつかんで、他の関数の 1 つからわずかに変更しました。
$all_questions;
if(!empty($csv_array))
{
foreach($csv_array as $question)
{
$all_questions = $all_questions . implode(',',$question) . "\n";
}
}
結論として、多次元配列を 1 つの大きな文字列として保存するには、foreach ループが必要です。私のCSVファイルが次のような場合:
question1,answer1,answer2,answer3,answer4
question2,answer1,answer2,answer3,answer4
question3,answer1,answer2,answer3,answer4
まったく同じ形式で変数に保存する必要があります。他の理由で必要になるため、多次元配列も保持する必要があります。