2017-09-06 24 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

相关问题