【问题标题】:How can I shorten this PHP if statement?如何缩短此 PHP if 语句?
【发布时间】:2012-04-06 13:25:25
【问题描述】:

我有一个 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 来存储所有带有断线的子页面,但我需要一个大脚本,所以我想先知道是否已经有一个奇怪的比较函数()。因此,它必须是 SHORT,否则我可以毫无问题地制作大约 10-20 行,其中包含一些 while 和 ifs。

谢谢大家。

【问题讨论】:

  • 用一个开关怎么样,有没有中断的情况?
  • 其他答案是正确的,但这也很聪明。谢谢。

标签: php arrays string optimization if-statement


【解决方案1】:

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

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

【讨论】:

  • 完美。该脚本有一些我没有列出的额外细节(它们并不那么重要),也可以使用这种方法来实现。谢谢。
【解决方案2】:

你想要in_array()

【讨论】:

    猜你喜欢
    • 2012-07-05
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多