0

标题可能有点混乱,但是如何处理数组并根据给定的值返回键的值。这基本上是用于将数据库元数据转换为人类可读格式的数组库。

例子:

$countries = array('US'=>'United States','MX'=>'Mexico');

上述数组将被视为数组库。因此,当我进行查询并且在我的结果中我只有两个国家代码时,我需要将其转换为人类可读的格式。是否有一个功能,如果我向它发送两个国家/地区代码,它将返回人类可读的格式。然后,此函数需要可与其他数组库一起使用。示例函数:

function covert_to_human($key, $array_library)
4

2 回答 2

1
function convert_to_human($key, $library) {
    return array_key_exists($key, $library) ? $library[$key] : false;
}
于 2013-06-19T22:18:15.333 回答
1

这将返回与 $array_library 中的 $key 关联的值(如果存在),否则如果键不在 $array_library 中,则返回可选的 $default

function convert_to_human($key, $array_library, $default = null){
     if (array_key_exists($key, $array_library)){
           return $array_library[$key];
     }
     return $default;
}

如果您想要一种超级简单的方法来定义和维护查找,您可以将此概念包装在一个类中并使用 parse_ini_file 来播种数据。

class Lookup{
     protected $data;

     public function __construct($iniFile){
          $this->data = parse_ini_file($iniFile);
     }

     public function lookup($key, $default){
          return isset($this->data[$key])?$this->data[$key]:$default;
     }
}

要使用您,您可以将查找编写为

; Countries.ini 
US = "United States of America"
MS = "Mexico"
CA = "Canada"

然后创建一个实例并使用你的类

$countryLookup = new Lookup("Countries.ini");
echo $countryLookup->lookup("MX", "Unknown Country");
于 2013-06-19T22:19:02.927 回答