许多其他if语句,这会使网站变慢吗?

时间:2013-03-20 14:08:43

标签: performance if-statement

<?php if (in_category('44')) : ?>
//case
<?php elseif (in_category('26')) : ?>
//case
+50 elseif and case
<?php else : ?>
//case
<?php endif; ?>

我有大约50个其他if语句为我的类别提取不同的横幅大约50个是这样的好还是会导致什么?我不能创建不同的单个帖子模板因为我有大约1k的帖子,我不能再手动编辑它们了。

1 个答案:

答案 0 :(得分:0)

首先,确保in_category是最佳的。例如,如果执行复杂查找,请查看是否可以执行一次。在那之后,一系列的else..if将不会比case语句更糟糕。通过对案例进行排序来优化它,以便最可能的案例位于最顶层,最不可能位于底层。然后,如果某些测试比其他测试更昂贵,则将最昂贵的测试放在最底层。如果这些目标发生冲突,请尽力。