2011-10-13 74 views
2

我想知道做一個PHP IF或聲明的最好辦法..但我有陣列超過30+PHP if或else語句 - 最好的方式做到這一點

列表這是當前格式數組:

if($cq=="45" || $cq=="45" || $cq=="35") { 

// action to my function 

} 

我知道我可以做一個數組,但Array();不支持條件..

感謝

更新 - 我知道這是舊的,即使我知道,我是新手PHP。看看我的個人資料問題的例子(空的)

這是我留下了代碼:

$cqs = array("45", "35"); 
if (in_array($cq, $cqs)) { 
    // action to your function 
} 

你也需要海外商品會有你的變量類型:

if(
          $cq=="45" || 
          $cq=="53" || 
          $cq=="37" || 
          $cq=="70" || // 
          $cq=="74" || // 
          $cq=="36" || // - this function removes colours if they have this ID 
          $cq=="66" || // 
          $cq=="61" || // 
          $cq=="69" || 
          $cq=="20" || 
          $cq=="55" || 
          $cq=="50") 

          { 



          } 
+0

你的問題是不明確的,而是你在找的'in_array'內置函數? – Artefact2

+0

數組在哪裏? – Mob

+0

我同意@ Artefact2。順便說一句'$ cq ==「45」|| $ cq ==「45」'是相當多餘的。 – breiti

回答

1
$yourArray = ('45', '45', '35'): 
if (in_array($ca, $yourArray)) { ... } 
2

你可以試試 - 它是整數嗎?然後將所有的這"

+0

檢查函數的第三個參數;) – hakre

+0

@hakre當然,但是始終要記住強大的輸入,即使它不是語言中的必要條件。 ;-) – hsz

1

你這樣做與數組的:

$test = array(45,35); 

if(in_array($cq,$test)){ 

    // action to your function 

}