代码之家  ›  专栏  ›  技术社区  ›  user982124

PHP从键值[duplicate]获取关联数组的名称

  •  0
  • user982124  · 技术社区  · 7 年前

    我在会话变量中存储了一个数组,如下所示:

    [availableCountries] => Array
            (
                [Australia] => 1031
                [New Zealand] => 1027
                [USA] => 1029
                [Singapore] => 1026
                [Canada] => 1028
                [France] => 1030
            )
    

    我有一个存储选定键值的变量,例如:

     $country = '1026';
    

    我现在需要从数组中获取匹配国家的名称,例如新加坡 $country = '1026'

    2 回复  |  直到 7 年前
        1
  •  2
  •   Darren    7 年前

    你要找的是 array_search() ,它提供了您想要的功能:

    $key = array_search(str_replace("LP", "", $country), $yourArray);
    

    返回: Singapore

    如果你正在寻找一种快速而肮脏的方式来返回数据( 未推荐的 ),然后你甚至可以这样做:

    echo array_flip($a)[str_replace("LP", "", $country)];
    

    前提是数据始终存在

        2
  •  0
  •   Joseph_J    7 年前

    可以使用array_search()函数。它将在数组中搜索一个值并返回键。

    http://php.net/manual/en/function.array-search.php

    $availableCountries = Array(
    
      'Australia' => 1031,
      'New Zealand' => 1027,
      'USA' => 1029,
      'Singapore' => 1026,
      'Canada' => 1028,
      'France' => 1030
    
    );
    
    function getCountry($array, $code){
    
      return array_search($code, $array);
    
    }
    
    
    echo getCountry($availableCountries, '1026'); //<---returns "Singapore"
    
    推荐文章