2016-06-14 69 views
1

我有以下陣列:產生通過在數組中循環「選擇輸入」

$selects = array(
     'Select1' => array('select1_name' => array('select1_value1','select1_value1')), 
     'Select2' => array('select2_name' => array('select2_value1','select2_value2')) 
    ); 

我不知道如何可以生成這些通過一個循環他們的選擇「選擇輸入」?

回答

1

你需要一個週期,這將遍歷數組選擇,這裏面循環,你需要一個又一個,這將遍歷選擇。而這一次裏面,你需要多一個,這將遍歷選項值:

$selects = array(
    'Select1' => array('select1_name' => array('select1_value1','select1_value1')), 
    'Select2' => array('select2_name' => array('select2_value1','select2_value2')) 
); 

foreach($selects as $select) { 
    foreach($select as $item) { 
     echo "<select>"; 
     foreach($item as $value) { 
      echo "<option value=".$value.">".$value."</option>"; 
     } 
     echo "</select>"; 
    } 
} 

這將產生:

<select> 
 
    <option value=select1_value1>select1_value1</option> 
 
    <option value=select1_value1>select1_value1</option> 
 
</select> 
 
<select> 
 
    <option value=select2_value1>select2_value1</option> 
 
    <option value=select2_value2>select2_value2</option> 
 
</select>

+0

謝謝你,通過你的代碼我得到了我需要的... –

1
foreach($selects as $select) { 
    foreach($select as $selectName => $value) { 
      echo '<select> '; 
      echo '<option>'.$selectName.'</option>'; 
      foreach($value as $v) { 
       echo '<option>'.$v.'</option>'; 
      } 
      echo '</select>'; 
    } 
} 
+1

雖然此代碼段可能會解決問題[包括解釋](http://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)確實有助於提高您的帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! – Rizier123

+0

謝謝Rizier123,我會遵循這個指導 –

0
echo '<select> '; 
    foreach($selects as $array) {  
    foreach($array as $value) {  
       foreach($value as $v) { 
       echo '<option value="'.$v.'">'.$v.'</option>'; 
      }}}  
    echo '</select>'; 
+2

儘管這段代碼片段可能解決這個問題,[包括解釋](http://meta.stackexchange.com/questions/114762/explain-completely-code-based-answers)確實有助於提高帖子的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。也請儘量不要用解釋性註釋來擠佔代碼,這會降低代碼和解釋的可讀性! – Rizier123

+0

@ Rizier123同意:) – user1234