2012-03-21 113 views
1

我有一个if语句,我需要比较一个字符串与许多不同的选项。我在下面发布的代码显示我的意思很清楚。我知道这样做的两种方式,但另一种更长。那么,有没有什么功能可以做到这一点,但方法更简短?我所要求的可能看起来很愚蠢,但我希望子页面列表的增长非常快。这是代码:如何缩短这个PHP if语句?

if (
    $Url[0]=="contact"|| 
    $Url[0]=="report"|| 
    $Url[0]=="new" 
    ) 
    { 
    //Do something 
    } 

而且我想知道如果有这样的事情:

if (weirdcomparefunction ($Url[0],"contact","report","new")) 
    { 
    //Do something 
    } 

我看到创建自己的功能是传递变量的数量是问题(讽刺)变数。

甚至是这样的:

$centered = array ("contact","report","new"); 
if (weirdcomparefunction ($Url[0],$centered)) 
    { 
    //Do something 
    } 

我也想创建一个.txt来存储所有与特征线的子页面,但我需要一个大的脚本,所以我想知道首先如果已经有一个weirdcomparefunction()。因此,它需要是短暂的,否则我会有一些时间和ifs约制作10-20行的问题。

谢谢大家。

+0

如何使用一个开关,其案件不绝? – vidit 2012-03-21 23:57:14

+1

其他答案是正确的,但这也很聪明。谢谢。 – 2012-03-22 00:02:54

回答

11

http://php.net/manual/en/function.in-array.php

$centered = array ("contact","report","new"); 
if(in_array($Url[0], $centered)) { 
    //Do something 
} 
+0

完美。脚本有一些额外的细节,我没有列出(它们不是那么重要),也可以使用这种方法来实现。谢谢。 – 2012-03-22 00:04:21