2

私はこれを理解するのに苦労しています。私はここや他の場所で他の多くの投稿を読んだことがありますが、私はそれを理解していません。他人の例を視覚化するのに苦労しているせいかもしれません。誰かが私がここで間違っていることについていくつかの洞察を私に教えてもらえますか?

1. $data = file_get_contents("rawtext.txt");
2.   
3. $kList[0] = "uszips.txt";
4. $kList[1] = "cities.txt";
5. $kList[2] = "states.txt";
6. 
7. foreach($kList as $replacelist)
8. {
9. 
10. 
11. $fp = @fopen($kList, 'r'); 
12. if ($fp) { 
13.  $array = explode("\n", fread($fp, filesize($kList))); 
14. } 
15. 
16.     $replacelist = str_replace($array,"", $data);   }
17. 
18. // remove stuff less than 2 characters, 
19. $data = preg_replace("!\\b\\w{1,2}\\b!", "", $data);  
20. // remove blank lines.
21. $data = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $data);
22. 
23. //save it back:
24. file_put_contents("stripped.txt",$data); 
25. 

@DarkXphenomenon私はこれらの通知を受け取ります

  • 注意:未定義の変数:16行目のC:\ xampp \ htdocs \ tools\str_replace.phpの配列
  • 注意:未定義の変数:16行目のC:\ xampp \ htdocs \ tools\str_replace.phpの配列
  • 注意:未定義の変数:16行目のC:\ xampp \ htdocs \ tools\str_replace.phpの配列

その@チップをありがとう。私はそれを削除しました、そして今私はこれを追加で手に入れます。

  • 警告:fopen()は、パラメーター1が文字列であり、配列がC:\ xampp \ htdocs \ tools\str_replace.phpでオンラインで指定されていることを想定しています。
  • 警告:fopen()は、パラメーター1が文字列であり、配列がC:\ xampp \ htdocs \ tools\str_replace.phpでオンラインで指定されていることを想定しています。
4

1 に答える 1

0

まあ、それはファイル自体が読み取り用に開かれていなかったことを意味するだけです。次のように入力すると、$arrayが設定されます。

if ($fp) { 
 $array = explode("\n", fread($fp, filesize($kList))); 
} 

したがって、ファイルが実際に存在するかどうかを確認する必要があります。テスト時には、@デバッグを高速化するため、エラー抑制を削除する必要があります。

編集:for-eachループでは、配列全体ではなく、内部で$replacelist変数を使用する必要があります。そのはず

foreach($kList as $replacelist)
{
$fp = @fopen($replacelist, 'r');
... 

}
于 2012-07-31T18:24:54.147 に答える