0

基本的に、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

まったく同じ形式で変数に保存する必要があります。他の理由で必要になるため、多次元配列も保持する必要があります。

4

1 に答える 1