Php 回声下拉菜单';s选项名称而不是其值

Php 回声下拉菜单';s选项名称而不是其值,php,foreach,dropdown,domdocument,Php,Foreach,Dropdown,Domdocument,我试图回显所选下拉列表的名称,而不是其值。我理解,通过实现以下内容,可以实现echoing下拉列表的值: $variable = $_POST['vehicleStyle']; echo $variable; 其中vehicleStyle是名称 但是,我不在值之后I在选项名称之后 这是我的PHP。我从一个XML文档中提取数据,$k等于选项名,$v等于它的值 <html> <body> <?php $xml = file_get_contents('

我试图
回显所选下拉列表的名称,而不是其值。我理解,通过实现以下内容,可以实现
echo
ing下拉列表的值:

$variable = $_POST['vehicleStyle'];
echo $variable;
其中
vehicleStyle
名称

但是,我不在
值之后
I在选项名称之后

这是我的PHP。我从一个XML文档中提取数据,
$k
等于选项名,
$v
等于它的值

<html>
 <body>

  <?php
    $xml = file_get_contents('note.xml');
    $dom = new DOMDocument();
    $dom->loadXML($xml);
   ?>

    <form action="additionalinfo.php" method=POST>

     <select name="vehicleStyle">
      <option selected="selected">Choose style</option>
      <?php
        foreach ( $dom->getElementsByTagName('style') as $styletwo )   {
          $styleid = $styletwo->getAttribute("name");
          $styleData [$styleid]= $styletwo->getAttribute("id");;
            }
        foreach ($styleData as $k=>$v){
      ?>
    <option value='<?php echo $v;?>'><?php echo $k;?> </option>
     <?php
      }
     ?>
   </select>

   <br>
   <button class="button">Submit</button>
 </form>


 </body>
</html>
对于我的代码,我得到
292015
292016
(以选择的为准)。我如何呼应下拉名称,或者是
Audi
或者
BMW


谢谢

只需将选项的
值更改为
$k
,即

<option value='<?php echo $k;?>'><?php echo $k;?> </option>

如果只需要文本而不需要数字,则不要将数字作为值包含在选项中

<option><?php echo $k;?></option>

如果您需要同时获取文本和值,则有各种建议可供参考。

如何

然后


可能会使某些验证更加困难,但它应该可以满足您的需要。

我需要保留值
$v
,但我还想提取名称
$k
,我需要文本和数字。
<option><?php echo $k;?></option>
$variable = $_POST['vehicleStyle'];
$variable = explode('|', $variable);

echo $variable[0];  //The "value"
echo $variable[1];  //The "text"