如果国家/地区代码存在,我正在寻找检查数组的解决方案。 而不是张贴整个名字。
我是PHP的新手,所以如果in_array是正确的方式,我就不会感到害羞:)
php代码
$country = "al"
<?php if (in_array("$country", $countries_en)) {
echo "$country"; }
?>
所以我想要的回声不是“al”。我想要“阿尔巴尼亚”。
数组:
$countries_en = array
(
'ad' => 'Andorra',
'ae' => 'United Arab Emirates',
'af' => 'Afghanistan',
'ag' => 'Antigua and Barbuda',
'ai' => 'Anguilla',
'al' => 'Albania',
'am' => 'Armenia,..... and much more
答案 0 :(得分:3)
只需使用$country
作为密钥即可从$country_en
数组中获取所需的值:
$country = "al";
if (array_key_exists($country, $countries_en)) {
echo $country_en[$country];
}
您希望在此使用array_key_exists()
,而不是in_array()
因为al
是数组键之一,而不是值。
答案 1 :(得分:2)
试试这个:
这里“al”用作数组的键,而不是值, in_array()函数检查值。
所以,你需要在这里使用另一个函数 array_key_exists()。
<?php if (array_key_exists($country, $countries_en)) {
echo $country_en[$country]; }
?>
答案 2 :(得分:1)
As a solution to your problem please try executing following code snippet
<?php
$country='al';
if(isset($countries_en[$country]))
{
echo $countries_en[$country];
}
?>
答案 3 :(得分:1)
尝试array_walk
功能:
$country = 'ai';
$countries_en = array(
'ad' => 'Andorra',
'ae' => 'United Arab Emirates',
'af' => 'Afghanistan',
'ag' => 'Antigua and Barbuda',
'ai' => 'Anguilla'
);
array_walk($countries_en, function($value,$key) use ($country) {
if ($country === $key) {
echo $value; // result "Anguilla"
}
});