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