2012-12-12 28 views
0

我有一個數組,看起來是這樣的:多的foreach對數組循環數組裏面

$array = array(
    'val1' => array('en'=>'Option Title 1','a'=>1), 
    'val2' => array('en'=>'Option Title 2','b'=>2), 
    'val3' => array('en'=>'Option Title 3','c'=>3) 
); 

我試圖運行該代碼來生成一個選擇框:

function setOptions($array){ 
    echo '<select name="select">'; 
    foreach($array as $key_parent => $val_parent){ 
     foreach($val_parent as $key => $val){ 
      if($key !== 'en'){ 
       $option_value = $val; 
      }elseif($key == 'en'){ 
       $option_title = $val; 
      } 
     } 
     echo '<option value"'.$option_value.'">'.$option_title.'</option>'; 
    } 
    echo '<select>'; 
} 

這將打印什麼我期望。

<select name="select"> 
    <option value="1">Option Title 1</option> 
    <option value="2">Option Title 2</option> 
    <option value="3">Option Title 3</option> 
</select> 

然而,當我從一個表單提交打印的$_POST['select']的返回值,我得到Option Title 1Option Title 2,或Option Title 3,不1,2 or 3我認爲是非常奇怪的。

所以這留下了問題,當一個值的關鍵字是未知的(a,b或c)時,如何獲取val1,val2,val3中的值?

+0

您的表單如何發佈?通過AJAX?如果是這樣,請向我們展示處理此問題的JavaScript。 – RobMasters

+0

您是否嘗試過