0
任何人都可以幫助我的代碼?這裏是我得到的錯誤,「警告:implode():傳遞的參數無效」我希望輸出打印總票數,包括給予勝利者的額外1分,最後打印包括額外投票在內的選票結果爲表格中的獲勝者。PHP總得票和獎勵加分
1|4
2|3
3|6
4|3
5|9
這裏是形式和代碼:
<form action="voting.php" method="get">
Choose your candidate:
<select name="candidate">
<option value=1 selected>1</option>
<option value=2>2</option>
<option value=3>3</option>
<option value=4>4</option>
<option value=5>5</option>
</select>
<br>
<input type="submit" value="Send">
</form>
<?php
$inputs = file('results.txt');
$sum = 0 ;
$res = array();
foreach ($inputs as $line) {
$var = explode('|', $line);
$res[$var[0]] = $var[1];
$add= $add + $var[1];
}
$fin=array();
$maxVotes=max($res);
foreach ($res as $candidate => $voteCount) {
if ($voteCount == $maxVotes) {
$res[$candidate]++;
$fin=$candidate . "|" . $res[$candidate];
}
}
$final = implode("\n", $fin);
$fp = fopen('results.txt', 'w');
fwrite($fp, $final);
fclose($fp);
echo "Total votes casted: ",$add+1," votes.";
$file = 'results.txt';
readfile($file);
?>
您將fin聲明爲數組,然後將其重新聲明爲字符串$ fin = $ candidate。 「|」 。 $水庫[$候選人]。 ..因此它不再是一個數組,不能傳遞給implode – clancer
一個數據庫會使這一百萬倍easer –