我想使用两个数组生成一个selectbox
,一个包含国家代码,另一个包含国家名称。
这是一个示例:
<?php
$codes = array('tn','us','fr');
$names = array('Tunisia','United States','France');
foreach( $codes as $code and $names as $name ) {
echo '<option value="' . $code . '">' . $name . '</option>';
}
?>
这种方法对我不起作用。有什么建议吗?
发布于 2010-12-19 07:43:25
foreach( $codes as $code and $names as $name ) { }
这是无效的。
你可能想要这样的东西...
foreach( $codes as $index => $code ) {
echo '<option value="' . $code . '">' . $names[$index] . '</option>';
}
或者,让代码成为$names
数组的键要容易得多……
$names = array(
'tn' => 'Tunisia',
'us' => 'United States',
...
);
发布于 2010-12-19 07:44:22
foreach
一次仅在一个阵列上运行。
按照数组的结构方式,您可以将它们array_combine()
到一个键-值对数组中,然后对该单个数组执行foreach
操作:
foreach (array_combine($codes, $names) as $code => $name) {
echo '<option value="' . $code . '">' . $name . '</option>';
}
或者,正如在其他答案中看到的,您可以硬编码一个关联数组。
发布于 2010-12-19 07:44:00
使用array_combine()
将数组融合在一起并迭代结果。
$countries = array_combine($codes, $names);
https://stackoverflow.com/questions/4480803
复制相似问题