php中静态字符串的双向映射类

php中静态字符串的双向映射类,php,Php,在php中为静态字符串实现双向映射类的最佳方法是什么。我认为Enum类有6个常量,用于3个键值对的双向映射。请建议更好的实施 如果我有一个下面的映射,如果我引用M,我需要得到Mangalore,如果我引用Mangalore,我也需要得到M M=>Mangalore D=>德里 O=>Ooty 谢谢 我认为Enum类有6个常量,用于3个键值对的双向映射。请建议更好的实施 不需要特别的课程,除非你绝对需要。简单的PHP数组可以做到这一点 <?php $names=array(); $name

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

如果我有一个下面的映射,如果我引用M,我需要得到Mangalore,如果我引用Mangalore,我也需要得到M

M=>Mangalore
D=>德里
O=>Ooty

谢谢

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

不需要特别的课程,除非你绝对需要。简单的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;
}


?>

因为我需要它是静态的,所以我在类中将您的实现用作静态数组和静态函数。。。我想这是对的。。谢谢!!