2

在 php.ini 中为静态字符串实现 2 路映射类的最佳方法是什么?我认为 Enum 类具有 6 个常量,用于 3 个键值对的 2 路映射。请建议更好的实施。

例如:如果我有以下映射,如果我引用 M,我需要获取 Mangalore,如果我引用 Mangalore,我还需要获取 M

M=> 门格洛尔
D=> 德里
O=> 乌蒂

谢谢 !!

4

1 回答 1

1

我认为 Enum 类具有 6 个常量,用于 3 个键值对的 2 路映射。请建议更好的实施。

除非您绝对需要,否则不需要为此开设特殊课程。简单的 PHP 数组可以做到这一点

<?php

$names=array();
$names["M"]="Mangalore";
$names["D"]="Delhi";
$names["O"]="Ooty";

echo $names["M"]; //  Mangalore
echo array_search("Mangalore", $names); //M
?>

编辑

您也可以为此编写一个小函数

<?php

$names=array();
$names["M"]="Mangalore";
$names["D"]="Delhi";
$names["O"]="Ooty";

echo getMapping($names,"M");
echo getMapping($names,"Mangalore");

function getMapping($values,$search)
{
    if(array_key_exists($search,$values))
    {
        return $values[$search];
    }
    $key=array_search($search,$values);
    if($key)
    {
        return $key;
    }
    return 0;
}


?>
于 2013-05-09T05:49:22.760 回答