2012-03-21 152 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