2017-09-06 41 views
1

我正在使用一系列if語句來查看數值是否在數組中,如果是,則更改變量。問題是它只能在找到的最後一個值上工作。使用in_array的if語句的系列僅適用於最後一個

我的代碼是:

$accommodation_list = array(); 
    $ind_apt_query = array(); 
    $cottage_query = array(); 
    $asst_living_query = array(); 
    $skilled_care_query = array(); 
    $memory_loss_query = array(); 

if(isset($_GET['accommodations'])){ 
     $accommodation_values = implode(', ', $_GET['accommodations']); 
     $accommodation_list = explode(" ", $accommodation_values); 

     if(in_array('cottage_units', $accommodation_list)){ 
      $cottage_query = array(
       'key' => 'rfp_cottage_units', 
       'value' => '', 
       'compare' => '!=', 
      ); 
     } 

     if(in_array('ind_apts', $accommodation_list)){ 
      $ind_apt_query = array(
       'key' => 'rfp_ind_apt', 
       'value' => '', 
       'compare' => '!=', 
      ); 
     } 

     if(in_array('asst_living', $accommodation_list)){ 
      $asst_living_query = array(
       'key' => 'rfp_assist_living_units', 
       'value' => '', 
       'compare' => '!=', 
      ); 
     } 

     if(in_array('skilled_care', $accommodation_list)){ 
      $skilled_care_query = array(
       'key' => 'rfp_skilled_care_beds', 
       'value' => '', 
       'compare' => '!=', 
      ); 
     } 

     if(in_array('memory_loss', $accommodation_list)){ 
      $memory_loss_query = array(
       'key' => 'rfp_memory_loss_units', 
       'value' => '', 
       'compare' => '!=', 
      ); 
     } 

    } 

所以如果$ accommodation_list =陣列([0] => cottage_units,[1] => asst_living,[2] => memory_loss)只有$ memory_loss_query將填充其他人($ cottage_query和$ asst_living_query)仍然是空的。

我怎樣才能得到這個數組中的所有值?

+0

得到之初擺脫爆炸/破滅的東西。 – Calimero

+1

你在''上爆炸,然後爆炸''的結果,這意味着你的數組值將在它們中包含逗號。 –

回答

2

你爆上<comma><space>,然後就爆炸了<space>結果,這意味着你的數組值將會有逗號他們:

(
    [0] => cottage_units, 
    [1] => asst_living, 
    [2] => memory_loss 
) 

所以,你最終比較asst_livingasst_living,這顯然失敗。

沒有必要進行破壞,然後重建陣列,只是直接檢查你的in_array()電話與原始數組:

if (in_array('asst_living', $_GET['accommodations'])) { 
    // ... 
} 
+0

感謝您如此快速。你的解決方案完美無缺! – Chris

相關問題