PHP数组和选择列表

Ser*_*gio 8 php

我想使用php数组进行HTML选择列表.在这种情况下,它将是国家列表,但在下拉列表中列出的国家名称旁边,我需要作为每个国家/地区短国家/地区代码的值.

我目前使用的php数组如下:

$wcr=array(
'Angola',
'Antigua & Barbuda',
'Armenia', 
'Austria',
'Azerbaijan', 
 .....
 );
Run Code Online (Sandbox Code Playgroud)

使用此数组的PHP页面:

<select name="country"><option selected value=""> --------- 
<? $p=1;asort($wcr);reset($wcr);
while (list ($p, $val) = each ($wcr)) {
echo '<option value="'.$p.'">'.$val;
} ?>
</select>
Run Code Online (Sandbox Code Playgroud)

该值应该是短国家/地区代码(类似'ES','美国','AN',...)而不是我现在拥有的数字作为此表单中的值.如果有可能的话,我会在同一个PHP数组中写一些简短的国家代码.

我怎样才能做到这一点?

Chr*_*phe 29

使用foreach(),它是遍历数组的最佳函数

你的数组应该看起来像jakenoble

<select name="country">
<option value="">-----------------</option>
<?php
foreach($wcr as $key => $value):
echo '<option value="'.$key.'">'.$value.'</option>'; //close your tags!!
endforeach;
?>
</select>
Run Code Online (Sandbox Code Playgroud)

我还对你的HTML代码做了一些小调整.默认情况下将选择列表中的第一个选项,因此无需指定它;)

编辑:我再次阅读你的问题后做了一些修改


Maj*_*our 5

首先制作一个相关的国家代码数组,如下所示:

$countries = array(
  'gb' => 'Great Britain',
  'us' => 'United States',
  ...);
Run Code Online (Sandbox Code Playgroud)

然后这样做:

$options = '';
foreach($countries as $code => $name) {
  $options .= "<option value=\"$code\">$name</option>\n";
}
$select = "<select name=\"country\">\n$options\n</select>";
Run Code Online (Sandbox Code Playgroud)

  • 我愿意。我没有费心解释,因为我已经听到了“在我当地的情况下......”的防弹论点。但如果你问。第一种情况:另一种数据表示。除了通常的丰富 HTML 之外,我们还必须有一个“打印版本”。CSS 不会处理这一切。或者我们必须输出与 RSS 的 XML 或 AJAX 的 JSON 相同的数据。2. 多次安装。我们将应用程序安装在 2 台不同设计的主机上。当演示分离时升级我们的软件很容易,而当它被继承时就很难升级 (2认同)