比较php中的JSON字符串


Compare JSON strings in php

我有一个类似的国家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_searcharray_column1:一起使用

$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