-2

API からデータを取得するアプリがあります。

表示しているフィールドの 1 つ ($name と呼びましょう) には、サーバーのディレクトリに関連付けられた画像がある場合とない場合があります。

最初にコードを書いたとき、elseif ブロックを使用して既知の画像のタグを設定したところ、次のようになりました....

 if($name == "fred")
 {
    $image = "<img src='/images/fred.png'>";
 }
 elseif($name == "jon")
 {
    $image = "<img src='/images/jon.png'>";
 }
 ......
 else
 {
    $image = $name; // just the text
 }

elseif ブロックには最大 15 枚の画像があり、将来的にはさらに多くなる予定です。

$filename = '/path/to/images/'.$name;
if (file_exists($filename)) {
     echo "<img src='".$filename."'>";
} else {
    echo $name;
}

この画像はよく設定されているので、できるだけ効率的にしたいと思います。

感想などお待ちしております…

4

1 に答える 1

0

使ったほうが断然いいfile_exists()です。あなたは何かと呼ばれるものをやろうとしていますがpremature optimization、それは良いことではありません。

おそらく、このチェックは simple よりもコストがかかりifますが、スクリプトではこれに気付かないでしょう。そしてもちろん、ifs を維持するのは難しくなります (そして、コードを書くときに考えなければならないことです)。

もちろん、多くの画像file_exists()がある場合は、多くの をチェックするよりもファイルが存在するかどうかをチェックする方が効率的ですif

于 2013-10-18T16:30:09.093 に答える