寫入文件我目前有此塊:修改字符串數組和PHP
if ($type == "up") {
$lines_ = file('../indexIncomplete');
$counter = 0;
foreach ($lines_ as $value) {
$postLen = strlen($post);
if (substr($value, 0, $postLen) === $post) {
break;
}
$counter++;
}
list($title, $location, $votes, $poster, $date) = explode("|", $lines_[$counter]);
$votes = $votes + 1;
$newValue = $title.'|'.$location.'|'.$votes.'|'.$poster.'|'.$date;
$lines_[$counter] = $newValue;
file_put_contents('../indexIncomplete', $lines_);
}
這被包含在包含調用它的形式HTML頁面(有此塊的上方的一些邏輯做驗證和東西,我已經縮小了這裏的問題)。
我把一個文件的內容拉入數組中。然後我查看數組,看看它們中的一個是否匹配$post
(前面聲明的字符串)。如果匹配,循環會中斷,計數器將指向包含匹配字符串的數組中的位置。然後我抓住字符串的不同部分(使用explode()
)。我抓住$value
並增加它並重建一個新的數組入口。我用我剛剛在這一行上創建的新數組替換舊數組條目:
$lines_[$counter] = $newValue;
我將新數組寫回文件。問題是,當被寫入犯規的$newValue
似乎比$votes
拿起任何其他變量等,使它看起來像這樣:
||1||
當數票數正確的號碼。它應該看起來像這樣:
$title|$location|$votes|$poster|$date
此外,它不會出現在它應該的行上。而是將其附加到文件的末尾。我很困惑。
就在'list($ title,...)'行之前,添加'print($ lines _ [$ counter])''。它是否包含正確的信息? – bos
不,它沒有。我相信我知道了。看來我不能用'==='在if語句中進行比較。 '=='雖然工作。 – n0pe