【问题标题】:Auto populate a select box using an array in PHP使用 PHP 中的数组自动填充选择框
【发布时间】:2011-07-12 02:41:55
【问题描述】:

如果我有一个选择框

<select><option>...<option></select>

我有一个 1-12 的值数组

使用 php,我将如何使用该数组自动填充该选择框?

【问题讨论】:

    标签: php html select


    【解决方案1】:

    假设数组看起来像:

    $array = array(
      1=>"My first option",
      2=> "My second option"
    );
    
    <select>
      <?php foreach($array as $key => $value) { ?>
        <option value="<?php echo $key ?>"><?php echo $value ?></option>
      <?php }?>
    </select>
    

    【讨论】:

      【解决方案2】:

      您可以制作自己的简单函数,如下所示:

      function generateSelectFromArray($array){
        // echo your opening Select
        echo "<select>";
        // Use simple foreach to generate the options
        foreach($array as $key => $value) {
          echo "<option value=' $key '> $value </option>";
         }
         echo "</select>";
      }
      

      用法:

      $array = array(
       1=>"My first option",
       2=> "My second option"
      );
      
      generateSelectFromArray($array);
      

      【讨论】:

        【解决方案3】:

        没有单一的方法可以做到这一点,但你可以这样做:

        <select>
        <?=getMyOptions()?>
        </select>
        

        其中 getMyOptions() 是一个函数调用,它检索选项(例如从数据库中)并以格式打印每个选项

        <option value="x">XXX</option>
        

        就个人而言,我倾向于使用我称之为 printAsOptions() 的通用函数。这个函数接受一个对象数组。它期望数组中的对象有一个名为“id”的字段和一个名为“name”的字段。它遍历数组并为每个项目打印一个如上所述的选项。这样,您可以创建一个函数来获取对象数组(例如从数据库中),而无需混合表示逻辑。表示逻辑由通用 printAsOptions() 函数处理。

        【讨论】:

          猜你喜欢
          • 2012-11-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-05-24
          • 1970-01-01
          相关资源
          最近更新 更多