从关联数组输出数据

时间:2012-10-19 07:11:26

标签: php

我已将国家/地区的代码存储在如下数组

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

假设我从表单中获取国家/地区代码“AF”或国家/地区名称“阿富汗”,如何从数组中输出代码和名称?

我想要的输出是:阿富汗AF。我稍后会在下面的代码中使用它。

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

6 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

但是如果你想得到另一种方式,即阿富汗获得代码AF,你必须遍历列表或构建另一个数组。

答案 2 :(得分:1)

试试这个:)

var_dump(array_slice($countries, array_search('AX', array_keys($countries)), 1));

答案 3 :(得分: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

答案 4 :(得分:0)

可能有一个循环

 <?php
     foreach($countries as $key=>$name) {
         echo "<p>$key => $name</p>";
     }
 ?>

答案 5 :(得分:0)

foreach($countries as $key=>value)
{
 echo "Code: ".$key." Country: ".$value;
}