這聽起來很簡單,應該是,但我有一些問題,找不到它。
我有一個檔案,每行都有一個單詞,比如
dog
dog
dog
dogfirend
dogandcat
dogcollar
dog-food
以上應該顯示我:(3因為只有 3 個完整的匹配項dog)
我正在嘗試讀取檔案并檢查單詞dog在里面的次數。問題是它根本不算數并顯示0. 這就是我所擁有的
$word = "dog";
$count = 0;
$handle = fopen("dogs.txt", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
if ($word == $line) {
$count ;
}
}
fclose($handle);
}
uj5u.com熱心網友回復:
檔案中的行由換行符分隔。此換行符包含在您的$line變數中。
來自fgets()手冊:“讀取結束時長度 - 1 個位元組已被讀取,或換行符(包含在回傳值中)或 EOF(以先到者為準)。 ”
您需要首先trim()$line,以便洗掉這些字符:
$word = "dog";
$count = 0;
$handle = fopen("dogs.txt", "r");
if ($handle) {
while (($line = fgets($handle)) !== false) {
if ($word == trim($line)) {
$count ;
}
}
fclose($handle);
}
echo $count
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/519457.html
標籤:php
