我正在尝试使用PHP写入文件。我正在从数组中写入数据。
这是我的代码:
$subject = $_SESSION['subject'];
$section = $_SESSION['section'];
$exam1 = $_SESSION['exam1'];
$exam2 = $_SESSION['exam2'];
$finalexam = $_SESSION['finalexam'];
$average = $_SESSION['average'];
$studentArray = $_SESSION['stringArray'];
$file = $subject . "-" . $section . ".txt";
$fh = fopen($file, 'a');
$size = sizeof($studentArray);
for($i = 0; $i<$size; $i++){
fwrite($fh, $studentArray[$i] . " " . $exam1[$i] . " " . $exam2[$i] . " " . $finalexam[$i] . " " . $average[$i] . " ");
}
当我尝试访问此页面时,我总是收到此通知:
Notice: Undefined offset: 5 in C:\xampp\htdocs\CS120\MP\Grades.php on line 26
第26行是for循环中带有fwrite的那一行。 总是有通知,但代码正确写入文件。 是否可以采取任何措施来删除/解决通知/错误?
答案 0 :(得分:0)
其中一个数组没有5
的索引。我建议在使用之前使用isset()
。
例如我会做的会话:
$subject = isset($_SESSION['subject']) ? $_SESSION['subject'] : '';
你的阵列同样的东西。在使用之前,您需要检查数组的索引。
答案 1 :(得分:0)
您可以使用
方法1
array_key_exists('1',$studentArray); // check whether array position 1 exist in array $studentArray
方法2
if (isset($studentArray1])){
// check whether array position 1 exist in array $studentArray
}