0

我正在创建一个数组,然后使用 php 和 html 通过下拉菜单显示它的元素。数组的大小不同,所以我有一个 foreach 语句来显示它,问题是我无法弄清楚为什么下拉列表中的第一个值总是空的(我希望第一个值实际上来自我的数组)。这是代码,非常感谢任何帮助!

<html>
  <form id="form1" name="form1" method="post" onsubmit="" onreset="" action="thing.php">
<?php

$data = array();
$data[4] = 20.4541;
$data[5] = 32.5631;
$data[6] = 41.9715;
$data[7] = "text";
$data[10] = 2231;
$bestValue = 5;

echo " " . $key;
echo "<select name='dropdown'>";
echo "<option value=''></option>";

if($_POST['dropdown'] !=0){
    foreach($data AS $key=>$value) {
        $sel = '';
        if($key==$_POST['dropdown'] ) {
            $sel = "selected";
        }

        echo "<option value='".$key."' ".$sel.">".$key."</option>"; 
    }}      
else{

    foreach($data AS $key=>$value) {
        $sel = '';
        if($key==$bestValue ) {
                $sel = "selected";
        }
        echo $value;

        echo "<option value='".$key."' ".$sel.">".$key."</option>";             
    }}      

echo "</select>";


foreach($data AS $key2=>$value){
    if($_POST['dropdown'] == $key2){
    echo "  " . $data[$key2] . " degrees";}}
?>

<script>
function submitForm(action)
{
    document.getElementById('form1').action = action;
    document.getElementById('form1').submit();
}
</script>
<center>
<input type="button" onclick="submitForm('thing.php')" value="Find Angle" />
</center>

</html>

如您所见,下拉列表中的第一个值为空。我该如何删除这个?谢谢。

4

2 回答 2

4

只需删除第三个回声线。

echo "<option value=''></option>";
于 2012-05-29T20:18:55.143 回答
2

您要打印的第一个选项是一个空选项。

 echo "<select name='dropdown'>";
 echo "<option value=''></option>";

删除线

echo "<option value=''></option>";
于 2012-05-29T20:20:34.413 回答