【问题标题】:Auto populate <Select> box from array从数组中自动填充 <Select> 框
【发布时间】:2019-08-08 14:34:01
【问题描述】:

如何使用以下 php 值自动填充选择框?

array (
  0 => 
  array (
    'slug' => 'acura',
    'name' => 'Acura',
    'name_en' => 'Acura',
  ),
  1 => 
  array (
    'slug' => 'alfa-romeo',
    'name' => 'Alfa Romeo',
    'name_en' => 'Alfa Romeo',
  ),
  2 => 
  array (
    'slug' => 'alpine',
    'name' => 'Alpine',
    'name_en' => 'Alpine',
  ),
  3 => 
  array (
    'slug' => 'aro',
    'name' => 'ARO',
    'name_en' => 'ARO',
  ),
  4 => 
  array (
    'slug' => 'aston-martin',
    'name' => 'Aston Martin',
    'name_en' => 'Aston Martin',
  ),

它是将解码后的 json 数据转换为适当的 PHP 类型。 我只想要'name_en'

【问题讨论】:

  • 向我们展示您的代码尝试。

标签: php html select


【解决方案1】:

使用array 中的nameselect 选项上使用它

<?php
$arr = array (

  array (
    'slug' => 'acura',
    'name' => 'Acura',
    'name_en' => 'Acura',
  ),
  array (
    'slug' => 'alfa-romeo',
    'name' => 'Alfa Romeo',
    'name_en' => 'Alfa Romeo',
  ),

  array (
    'slug' => 'alpine',
    'name' => 'Alpine',
    'name_en' => 'Alpine',
  ),

  array (
    'slug' => 'aro',
    'name' => 'ARO',
    'name_en' => 'ARO',
  ),

  array (
    'slug' => 'aston-martin',
    'name' => 'Aston Martin',
    'name_en' => 'Aston Martin',
  ),
);   
?>

<select name="names">
<option value="">Select</option>
<?php
foreach($arr as $key => $value):
echo '<option value="'.$key.'">'.$value['name'].'</option>'; 
endforeach;
?>
</select>

【讨论】:

    【解决方案2】:
    $response = array (
      0 => 
      array (
        'slug' => 'acura',
        'name' => 'Acura',
        'name_en' => 'Acura',
      ),
      1 => 
      array (
        'slug' => 'alfa-romeo',
        'name' => 'Alfa Romeo',
        'name_en' => 'Alfa Romeo',
      ),
      2 => 
      array (
        'slug' => 'alpine',
        'name' => 'Alpine',
        'name_en' => 'Alpine',
      ),
      3 => 
      array (
        'slug' => 'aro',
        'name' => 'ARO',
        'name_en' => 'ARO',
      ),
      4 => 
      array (
        'slug' => 'aston-martin',
        'name' => 'Aston Martin',
        'name_en' => 'Aston Martin',
      )
    );
    echo "<select>";
    foreach($response as $option){
     echo "<options value='".$option['name_en']."'>".$option['name_en']."</options>";
    }
    echo "</select>";
    

    【讨论】:

      【解决方案3】:

      你可以试试下面的代码:

      <?php
      $list = array (
        0 => 
        array (
          'slug' => 'acura',
          'name' => 'Acura',
          'name_en' => 'Acura',
        ),
        1 => 
        array (
          'slug' => 'alfa-romeo',
          'name' => 'Alfa Romeo',
          'name_en' => 'Alfa Romeo',
        ),
        2 => 
        array (
          'slug' => 'alpine',
          'name' => 'Alpine',
          'name_en' => 'Alpine',
        ));
      ?>
      <html>
          <head> </head>
          <body>
              <select>
                  <?php foreach ($list as $lv){ ?>
                  <option><?= $lv['name'] ?></option>
                  <?php } ?>
              </select>
          </body>
      </html>
      

      我已经列出了name,如果您想更改它,请使用另一个索引slugname_en

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-10-29
        • 1970-01-01
        • 2013-03-04
        • 2013-07-25
        • 1970-01-01
        相关资源
        最近更新 更多