次のような配列があります。
$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 1
と、 、Option Title 2
、またはが得られますがOption Title 3
、1,2 or 3
これはかなり奇妙だと思いました。
問題の値のいずれかのキーが不明な場合 (a、b、または c)、どうすれば val1、val2、val3 内の値を取得できますか?