0

基本上,我通过 HTML 上传表单加载 CSV 文件,然后将其保存到 PHP 中。我需要创建一个 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 循环,它根本无法正常工作,我抓住了它,并与我的其他功能之一略有不同。

$all_questions;
if(!empty($csv_array)) 
{
    foreach($csv_array as $question) 
    {
        $all_questions = $all_questions . implode(',',$question) . "\n";
    }
}

所以总而言之,我需要我的 foreach 循环遍历我的多维数组以将其保存为一个大字符串。如果我的 CSV 文件是这样的:

question1,answer1,answer2,answer3,answer4
question2,answer1,answer2,answer3,answer4
question3,answer1,answer2,answer3,answer4

我需要将它以完全相同的格式保存到变量中。我还需要保留我的多维数组,因为我出于其他原因需要它。

4

1 回答 1

0

最终以某种方式自己制作。必须跳过第一个元素,这样才能解释 array_slice。

foreach (array_slice($csv_array,1) as $row) 
{
    $all_questions = $all_questions . $row[1] . ",";
    $all_questions = $all_questions . $row[2] . ",";
    $all_questions = $all_questions . $row[3] . ",";
    $all_questions = $all_questions . $row[4] . ",";
    $all_questions = $all_questions . $row[5];
    $all_questions = $all_questions . "\n";
}
于 2013-08-22T09:18:37.290 回答