-2

我有一个从 API 中提取数据的应用程序。

我正在显示的字段之一(我们称之为 $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 个图像,未来还会有更多,所以我想知道切换到 file_exists 是否会更有效,例如:

$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 回答