据我所知,该功能只宣布一次.但我得到这个错误无法重新声明calcPercentages(),它告诉我它在第17行声明是正确的
包含错误功能的函数...
function auditStats($audit){
$mysqli = dbConnect();
$audit_id = $audit;
$result = $mysqli->query("SELECT imageGrade, SUM(imageGrade=1) AS grade1, SUM(imageGrade=2) AS grade2, SUM(imageGrade=3) AS grade3, COUNT(*) AS total_imgs FROM image WHERE type != 'standard' and auditID ='$audit_id'")or exit("Error code ({$mysqli->errno}): {$mysqli->error}");
$row = $result->fetch_assoc();
$grade1 = $row['grade1'];
$grade2 = $row['grade2'];
$grade3 = $row['grade3'];
$totalImgs = $row['total_imgs'];
function calcPercentages($grade, $total){
$percent = round(($grade / $total) * 100,2);
return $percent;
}
if ($totalImgs != 0){
$percent_1 = calcPercentages($grade1, $totalImgs);
}
$return_array = [
'total'=>$totalImgs,
'percent_1'=>$percent_1
];
return $return_array;
}
Run Code Online (Sandbox Code Playgroud)
除了auditStats函数之外,该函数不会被调用,并且使用在页面下方进一步调用结果
$percent_1 = auditStats($auditID)[percent_1];
Run Code Online (Sandbox Code Playgroud)
请原谅我,如果我犯了明显的新手错误,我正在从程序转向OOP,我刚刚开始使用它.
您calcPercentages在auditStats函数内部声明,因此每次调用时都会重新声明它auditStats.
搬到calcPercentages外面auditStats.