-3

我已将国​​家/地区及其代码存储在如下数组中

$countries = array (
    'AF' => 'Afghanistan',
    'AX' => 'Åland Islands',
    'AL' => 'Albania',
    'DZ' => 'Algeria'
);

假设我从表格中得到国家代码“AF”或国家名称“阿富汗”,如何从数组中输出代码和名称?

我想要得到的输出是:阿富汗空军。稍后我将在下面的代码中使用它。

echo $countries['AF'] gives me the country name, but how do I output both;
4

6 回答 6

1

让您满意key($countries['AF'])为您提供 AF 本身的关键 :)

于 2012-10-19T07:17:02.617 回答
1

如果您知道代码(在这种情况下为“AF”

$code = 'AF';
echo 'Country :', $countries[$code], " has code $code\n";

但是,如果您想以另一种方式(即阿富汗)来获取代码 AF,则必须遍历列表或构造另一个数组。

于 2012-10-19T07:17:04.607 回答
1

试试这个 :)

var_dump(array_slice($countries, array_search('AX', array_keys($countries)), 1));
于 2012-10-19T07:26:09.463 回答
0

我不确定您的问题,但如果您询问迭代数组以输出代码和名称,您只需在循环中分配键:

foreach ($countries as $code => $name) {
       echo "$code : $name";
}

另一种解决方案是翻转数组,如果您只知道您正在谈论的表单中提交的国家/地区名称。

$countries = array_flip($countries); // Flips the array so Code => Name is Name => Code
$code = $countries[$_POST['country']]; // Where $_POST['country'] is the name
于 2012-10-19T07:14:30.937 回答
0

也许有一个循环

 <?php
     foreach($countries as $key=>$name) {
         echo "<p>$key => $name</p>";
     }
 ?>
于 2012-10-19T07:14:45.410 回答
0

尝试

foreach($countries as $key=>value)
{
 echo "Code: ".$key." Country: ".$value;
}
于 2012-10-19T07:14:53.100 回答