- ベストアンサー
printfで表示させるのは一度にしたい
QNo.2814162で質問させていただいた者です。 下記のスクリプトで./tttディレクトリに5日以内に作成されたファイルがあれば"ABCDEFGHI"と表示させようと思っております。 (5日以内に作成されたファイルが無ければ何も表示しない) しかし、./tttディレクトリにマッチしたファイルの数だけ "ABCDEFGHI"が表示されてしまいます。 もしマッチしたファイルが合った場合、 一度だけ"ABCDEFGHI"と表示させるようにするにはどうしたらよいでしょうか? <? $dir = opendir("./ttt"); $latestfile = 0; while ($fnm = readdir($dir)) { if($fnm == "." || $fnm == "..") continue; $ftime = filectime("./ttt/$fnm"); $nowdate =strtotime(date("Y-m-d")); if(strtotime($nowdate) - $ftime <= 5*24*60*60) { printf("ABCDEFGHI"); } else { printf(""); } } ?>
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
printfしたあとbreakすればよいでしょう。
その他の回答 (2)
No1の他にも print自体をカウンタ変数に置き換え、ループの外で0でなければprintfという形を取る方法も考えられる。 そのやり方なら適合した個数を所持する事ができる。(用途があるなら だけど) やり方によっては適合したpathをリスト化しておいて再利用も
お礼
解決いたしました。大変勉強になりました。 ありがとうございます。
- mazimekko3
- ベストアンサー率38% (74/194)
if-break構文で解決しませんか?
お礼
解決いたしました。他業務でパニックになり、基本をド忘れしていました。 ありがとうございます。
お礼
そのとおりでした。 ありがとうございます。