【发布时间】:2012-01-18 22:22:52
【问题描述】:
有没有更短的写法(不使用正则表达式或字符串匹配函数)?
if($page=='page1.php' || $page=='page2.php' || $page=='page3.php' || $page=='page4.php'){ do something...}
我正在寻找类似的东西:
if($page==('page1.php', 'page2.php', 'page3.php', 'page4.php')){do something...}
但我知道这是不正确的。有什么建议吗?
【问题讨论】:
-
我假设这些值实际上不是 page1.php、page2.php 等,它们是占位符?还是这实际上是您的代码要检查的内容?
-
是的...非常接近重复...我找了 5 分钟,找不到与我类似的问题...所以我发布了它。
-
无论如何,我认为和另一个一样,in_array 可能是最好的解决方案
-
在使用associative array keys 时查看马里奥链接到的问题的最新答案。
in_array必须在数组中搜索以查找匹配项(O(n)时间复杂度),而将字符串作为键而不是值查找需要恒定的查找时间(O(1)时间复杂度)。
标签: php if-statement shortcuts