PHP foreach循环使用数组数组中的值填充下拉列表

Mr.*_*. B 5 php arrays loops

我有一个使用以下代码创建的数组数组.我试图让它循环并填充下拉列表.

$names = $db->fetchAll("select `name` from `classes`");
Run Code Online (Sandbox Code Playgroud)

这是存储在$ names变量中的内容.

数组([0] =>数组([名称] =>网页设计)[1] =>数组([名称] =>艺术史)[2] =>数组([名称] =>健身房)[3] = > Array([name] => English)[4] => Array([name] => Biology)[5] => Array([name] => 3D Animation)[6] => Array([name] = > Tech Disc)[7] => Array([name] => Math)[8] => Array([name] => Dance)[9] => Array([name] => Video Production)[10] => Array([name] => Home Ec)[11] => Array([name] => Government)[12] => Array([name] => Physics))

我创建了这个下拉列表并且它可以工作,但它是为数组中的每个值手工编码的.我想修改它,以便"循环"遍历数组中的所有结果以创建下拉列表.

<label for="per1"></label>
<select name="per1" id="per1">
    <option selected="selected">Choose one</option>
    <option value="<?php echo $names[0]['name'];?>"><?php echo $names[0]['name'];?></option>
    <option value="<?php echo $names[1]['name'];?>"><?php echo $names[1]['name'];?></option>    
    <option value="<?php echo $names[2]['name'];?>"><?php echo $names[2]['name'];?></option>
    <option value="<?php echo $names[3]['name'];?>"><?php echo $names[3]['name'];?></option>
    <option value="<?php echo $names[4]['name'];?>"><?php echo $names[4]['name'];?></option>
    <option value="<?php echo $names[5]['name'];?>"><?php echo $names[5]['name'];?></option>
    <option value="<?php echo $names[6]['name'];?>"><?php echo $names[6]['name'];?></option>
    <option value="<?php echo $names[7]['name'];?>"><?php echo $names[7]['name'];?></option>
    <option value="<?php echo $names[8]['name'];?>"><?php echo $names[8]['name'];?></option>
    <option value="<?php echo $names[9]['name'];?>"><?php echo $names[9]['name'];?></option>
    <option value="<?php echo $names[10]['name'];?>"><?php echo $names[10]['name'];?></option>
    <option value="<?php echo $names[11]['name'];?>"><?php echo $names[11]['name'];?></option>
    <option value="<?php echo $names[12]['name'];?>"><?php echo $names[12]['name'];?></option>           
</select> 
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

Jos*_*bou 14

此解决方案适用于当前的PHP版本. 使用foreach的简单情况:

<select name="per1" id="per1">
  <option selected="selected">Choose one</option>
  <?php
    foreach($names as $name) { ?>
      <option value="<?= $name['name'] ?>"><?= $name['name'] ?></option>
  <?php
    } ?>
</select> 
Run Code Online (Sandbox Code Playgroud)

此解决方案适用于较旧的PHP版本. 使用foreach的简单情况:

<select name="per1" id="per1">
  <option selected="selected">Choose one</option>
  <?php
    foreach($names as $name) { ?>
      <option value="<?php echo $name['name'] ?>"><?php echo $name['name'] ?></option>
  <?php
    } ?>
</select> 
Run Code Online (Sandbox Code Playgroud)