Php Laravel CSV导入器未定义的偏移量:1

Php Laravel CSV导入器未定义的偏移量:1,php,arrays,laravel,csv,Php,Arrays,Laravel,Csv,我正在从我的laravel项目导入一个csv文件,以将数据存储在mySQL中。 但是我得到了一个错误:未定义的偏移量:1 拉威尔指出了错误: // Insert to MySQL database $importData_arr = array(); $i = 0; while (($filedata = fgetcsv($file, 1000, ",")) !== FALSE) { $num = count

我正在从我的laravel项目导入一个csv文件,以将数据存储在mySQL中。 但是我得到了一个错误:未定义的偏移量:1

拉威尔指出了错误:

// Insert to MySQL database
$importData_arr = array();
          $i = 0;

          while (($filedata = fgetcsv($file, 1000, ",")) !== FALSE) {
             $num = count($filedata );
             
             // Skip first row (Remove below comment if you want to skip the first row)
             /*if($i == 0){
                $i++;
                continue; 
             }*/
             for ($c=0; $c < $num; $c++) {
                $importData_arr[$i][] = $filedata [$c];
             }
             $i++;
          }
          fclose($file);

          // Insert to MySQL database
          foreach($importData_arr as $importData){

            $insertData = array(
               "username"=>$importData[1],
               "name"=>$importData[2],
               "gender"=>$importData[3],
               "email"=>$importData[4]);
            Page::insertData($insertData);

          }


不如检查一下
$importData
,看看它能做什么have@lagbox我已经编辑了我的代码,以表明我应该根据insertdata数组中定义的内容创建数组键?只需转储
$importData
,并查看其中的内容即可。。。不要猜测将它转储到您实际创建并正在使用它的位置。。。foreach的
。。。这只是PHP,这里没有任何与Laravel相关的内容,但是您将分隔符/分隔符定义为
(fgetcsv的第三个参数)
public function up()
{
  Schema::create('Rims', function (Blueprint $table) {
     $table->increments('id');
     $table->string('title');
     $table->float('price');
     $table->boolean('inStock');
     $table->string('imageURL');
     $table->timestamps();
  });
}