Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在函数中传递数组时php未定义变量_Php_Arrays_Function_Multidimensional Array - Fatal编程技术网

在函数中传递数组时php未定义变量

在函数中传递数组时php未定义变量,php,arrays,function,multidimensional-array,Php,Arrays,Function,Multidimensional Array,我是新手。我尝试使用函数将CSV文件读入二维数组,然后将该数组作为函数返回。除了$cvs[“CourseNumber”][$n]在函数外部使用时给了我未定义的变量外,其他一切似乎都正常工作。如果我在设置值后在函数内部打印$cvs[“CourseNumber”][$n],则在函数内部打印正确的值,但在函数外部仍然存在错误 function parsecsv($csvfile) { if (($handle = fopen($csvfile, "r")) !== FALSE) { $csv[

我是新手。我尝试使用函数将CSV文件读入二维数组,然后将该数组作为函数返回。除了$cvs[“CourseNumber”][$n]在函数外部使用时给了我未定义的变量外,其他一切似乎都正常工作。如果我在设置值后在函数内部打印$cvs[“CourseNumber”][$n],则在函数内部打印正确的值,但在函数外部仍然存在错误

function parsecsv($csvfile)
{
if (($handle = fopen($csvfile, "r")) !== FALSE)
{
    $csv["rows"]=0;
    $n = 0;
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
    {
        $csv["CourseTitle"][$n] = $data[0];
        $csv["OverallStartDate"][$n] = $data[1];
        $csv["OverallEndDate"][$n] = $data[2];
        $csv["OverallCourseDate"][$n]=$data[3];
        $cvs["CourseNumber"][$n]=$data[4];
        $csv["CourseName"][$n]=$data[5];
        $csv["CourseFacilitator"][$n]=$data[6];
        $csv["SurveyURL"][$n]=$data[7];
        $n++;
    }
    $csv["rows"]= $n;
    return $csv;
}
else
{
    print "Error: file not found";
    return 0;
}

}

$csv = parsecsv("test.csv");
print "<h1>From Function</h1><br />\n";

for ($n=0; $n < $csv["rows"]; $n++)
{
print "CourseTitle:" . $csv["CourseTitle"][$n] . "<br />\n";
print "OverallStartDate:" . $csv["OverallStartDate"][$n] . "<br />\n";
print "OverallEndDate:" . $csv["OverallEndDate"][$n] . "<br />\n";
print "OverallCourseDate:" . $csv["OverallCourseDate"][$n] . "<br />\n";
print "CourseNumber:" . $cvs["CourseNumber"][$n] . "<br />\n";
print "CourseName:" . $csv["CourseName"][$n] . "<br />\n";
print "CourseFacilitator:" . $csv["CourseFacilitator"][$n] . "<br />\n";
print "SurveyURL:" . $csv["SurveyURL"][$n];
print "<hr />";
}

您已经编写了cvs而不是csv

修这条线

print "CourseNumber:" . $cvs["CourseNumber"][$n] . "<br />\n";
将来

print "CourseNumber:" . $csv["CourseNumber"][$n] . "<br />\n";
$csv["CourseNumber"][$n]=$data[4];

这就是它在函数内部工作的原因

谢谢你找到我的愚蠢打字错误。
$cvs["CourseNumber"][$n]=$data[4];
$csv["CourseNumber"][$n]=$data[4];