如何从另一个函数调用字符串

时间:2018-11-01 17:15:45

标签: php function loops while-loop scanf

这是针对学校作业的,我们正在学习如何使用函数,而在“ while”行和此后的fscanf行上出现错误。

<?php

    openFile($fin);
    loadFile($fin);
	
	function openFile($fin) {
		$fin = fopen("employees.txt", "r") or die("File not found!");
	}

	function loadFile(&$fin) {
		fscanf($fin, "%s%s%f", $emp[$i][0],$emp[$i][1],$emp[$i][2]);
		while(!feof(&$fin)) {
			$i = $i + 1; 
			fscanf($fin, "%s%s%f", $emp[$i][0],$emp[$i][1],$emp[$i][2]);
		}
	}
  
?>

2 个答案:

答案 0 :(得分:0)

您应该更新
    

loadFile(openFile($fin));

function openFile($fin) {
    return fopen("employees.txt", "r") or die("File not found!");

}

function loadFile(&$fin) {
    fscanf($fin, "%s%s%f", $emp[$i][0],$emp[$i][1],$emp[$i][2]);
    while(!feof(&$fin)) {
        $i = $i + 1; 
        fscanf($fin, "%s%s%f", $emp[$i][0],$emp[$i][1],$emp[$i][2]);
    }
}

?>

答案 1 :(得分:0)

尝试添加&openFile($ fin)并从while(!feof(&$ fin))中删除&

openFile($fin);
loadFile($fin);

function openFile(&$fin) {
    $fin = fopen("demo.html", "r") or die("File not found!");
}

function loadFile(&$fin) {
    $i=0;
    fscanf($fin, "%s%s%f", $emp[$i][0],$emp[$i][1],$emp[$i][2]);
    while(!feof($fin)) {
        $i = $i + 1; 
        fscanf($fin, "%s%s%f", $emp[$i][0],$emp[$i][1],$emp[$i][2]);
    }

}