如何缩短这个PHP if语句?

时间:2012-03-21 23:54:04

标签: php arrays string optimization if-statement

我有一个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来存储所有带有分隔线的子页面,但是我需要一个大脚本,所以我想首先知道是否已经存在一个奇怪的比较函数()。因此它需要短暂,否则我可以毫不费力地制作10-20行有一些时间和ifs。

谢谢大家。

2 个答案:

答案 0 :(得分:11)

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

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

答案 1 :(得分:2)

你想要in_array()