【问题标题】:PHP Get Name of Associative Array from Key Value [duplicate]PHP从键值中获取关联数组的名称[重复]
【发布时间】:2018-11-11 01:38:37
【问题描述】:

我有一个数组存储在 Session 变量中,如下所示:

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

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

 $country = '1026';

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

【问题讨论】:

  • 尚不清楚"LP1026"1026 的关系。存储在$country 中的值总是以"LP" 为前缀还是该前缀是动态的?
  • @Phil 抱歉,这是一个错误,已对其进行编辑以删除 LP,因为它的值应该只是“1026”

标签: php arrays


【解决方案1】:

您正在寻找的是array_search(),它提供了您正在寻找的功能:

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

返回:Singapore

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

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

只要数据始终存在

【讨论】:

    【解决方案2】:

    您可以使用 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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 2015-07-23
      • 2021-03-16
      • 2015-08-05
      • 1970-01-01
      • 2015-06-26
      • 2023-03-15
      相关资源
      最近更新 更多