[英]Find last occurrence of line in a text file using PHP
問題:
我有一個帶有以下幾行的文本文件:
預期產量:
包含關鍵字的數組:腿,皮膚,體重,智力,速度
附加信息:
以斜杠開頭的所有內容均應忽略。
問題:
注意:
我不是在尋找代碼,只是有關PHP函數的建議,這些建議最終將導致解決方案。
要讀取文件,可以使用許多內置功能之一。
$fh = fopen("myfile", "r");
while (!feof($fh)) {
$line = fgets($fh);
echo $line;
}
fclose($fh);
這些是以上代碼中執行的步驟:
$fh
是文件句柄,並存儲對文件本身的引用 while()
條件檢查您是否達到了EOF (文件結束) while()
條件的計算結果為TRUE
並遍歷每行,並打印$line
方法2-使用file()
:
您可以使用此功能將整個文件讀入數組。 這對於短文件非常有用,也是一個很好的解決方案。 此函數將返回由行分解的字符串數組。
$arrayOfLines = file('myfile');
很簡單 現在,您可以簡單地使用foreach
循環遍歷所有行並執行所需的操作。
檢測特定字符的最后一次出現:
有一個內置函數strrchr()
從PHP手冊:
此函數返回干草堆的一部分,該部分從最后一次出現針時開始,一直到干草堆結束。
您可以將其與strpos()
, substr()
和其他字符串操作函數結合使用以檢索所需的文本。
希望這可以幫助!
這是我寫的解決方案,不確定是否是最佳解決方案。
<?php
$file = file('Creatures_rich.txt');
foreach($file as $line_nums => $line)
{
if (strpos($line, '/') == TRUE)
{
$target = explode("\t", trim($line));
foreach ($target as $key => $value)
{
if (substr($value, 0, 1) != '/')
{
$keywords[] = $value;
}
}
break;
}
}
echo "<xmp>".print_r($keywords, true)."</xmp>";
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.