2012-11-16 31 views
0

我有这样的代码:如何将此数组修改为关联数组?

$genders = array('Male', 'Female'); 

foreach ($genders as $gender) { 
echo '<option' . ($rowMyBiodata['Gender'] == $gender ? ' selected' : '') . '>'; 
echo $gender; 
echo '</option>'; 
} 

和代码生成HTML代码:

<option selected>Male</option> 
<option>Female</option> 

现在,我想在每个选项添加值,使得输出将是这样的:

<option selected value='M'>Male</option> 
<option value='F'>Female</option> 

我想通过改变数组关联数组可以解决这个问题:

$genders = array('M'=>'Male', 'F'=>'Female'); 

但如何获得数组的索引,因此它可以用作选项标签上的值?

回答

1

像这样:

$genders = array('M' => 'Male', 'F' => 'Female'); 

foreach ($genders as $key => $value) { 
    echo '<option' . ($rowMyBiodata['Gender'] == $value ? ' selected' : '') . ' value="' . $key . '">'; 
    echo $value; 
    echo '</option>'; 
} 
+0

它的工作兄弟!非常感谢... –

1

你只需要你的输出脚本改变这样的事情:

$genders = array('M' => 'Male', 'F' => 'Female'); 

foreach ($genders as $gender => $description) { 
    echo '<option value='.$gender.' ' . ($rowMyBiodata['Gender'] == $description ? ' selected' : '') . '>'; 
    echo $description; 
    echo '</option>'; 
} 

注意新的使用foreach则params的有$关键=> $值对,然后在你的输出

使用此
0

使用方法如下,

foreach ($genders as $key=>$gender) { 
    echo '<option value='.$key.' . ($rowMyBiodata['Gender'] == $gender ? ' selected' : '') . '>'; 
    echo $gender; 
    echo '</option>'; 

}