• 締切済み

phpのsubstr_countについて

<?php $str = "検索対象の文字列をここに指定します。文字列です。文字列。"; $word = "文字列"; var_dump( substr_count( $str, $word ) ); ?> とするとint(3)と帰ってくると思いますが、もし出現回数が5回以上であれば$wordを表示するというプログラムを書きたいのですが、php初心者なのでよくわかりません どなたかアドバイスお願いします。

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.2

$str = file('list.txt'); では無く $str = file_get_contents('list.txt'); でしょうね。 file() 関数はテキストファイルを1行ずつ配列に入れて返すので、substr_count() の第一引数に配列を渡している事になり、正しく処理してくれません。 substr_count() の第一引数には文字列を渡さなければいけないので、file_get_contents() を使ってテキストファイル全体を文字列変数にいれてやりましょう。

  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.1

<?php $str = "検索対象の文字列をここに指定します。文字列です。文字列。"; $word = "文字列"; if (substr_count($str, $word) >= 5) { echo $word; }

shiro857
質問者

補足

回答ありがとうございます。 回答をもとに、このようなプログラムを書いてみましたがうまく動きません。 やりたいことはローカルファイルを読み込み、その内容を配列に保存し、その配列の中で"文字列"という言葉が5回以上出現していたら表示といったものです。 <?php $str = file('list.txt'); $word = "文字列"; if (substr_count($str, $word) >= 5) { echo $word; } ?>

関連するQ&A