我有一个类似的国家json文件
[
{
"name": "Afghanistan",
"code": "AF"
},
{
"name": "Åland Islands",
"code": "AX"
},
{
"name": "Albania",
"code": "AL"
},
{
"name": "Algeria",
"code": "DZ"
},
{
"name": "American Samoa",
"code": "AS"
<?php
$string = file_get_contents('countries.json');
$array = json_decode($string, true);
foreach ($array as $person_name => $person_a) {
if(strcmp($person_name,'HR')==0)
{
echo $person_a['name'].'<br>';
}
}
?>
我需要将"代码"与给定值进行比较,然后输出匹配的国家,我如何找到前"GB"的代码,然后输出"大不列颠"?
将array_search
与array_column
1:一起使用
$found = array_search( 'DZ', array_column( $array, 'code' ) );
if( $found === False ) echo "Not Found";
else echo $data[$found]['name'];
array_column
返回所有"代码"值:使用array_search
可以检索相应的密钥,如果找到了,则可以回显相应的名称。
1可用PHP>=5.5