PHP-如何将多个字符串映射到单个字符串?e、 g.';en'';英语'';英语'--&燃气轮机';英语';

PHP-如何将多个字符串映射到单个字符串?e、 g.';en'';英语'';英语'--&燃气轮机';英语';,php,map,many-to-one,Php,Map,Many To One,我想要字符串的多对一键->值映射 到目前为止,我唯一的想法是做一系列这样的测试,但这并不是很不雅观 switch($s) { case "en": case "thatlanguagethebritsspeak": case "english": return "eng"; ... } 什么是更好的解决方案?使用regex,您可以使用区分大小写的功能,这可能是一个优势 if(in_array($s,array("eng","en","englis

我想要字符串的多对一键->值映射

到目前为止,我唯一的想法是做一系列这样的测试,但这并不是很不雅观

switch($s) {
    case "en":
    case "thatlanguagethebritsspeak":
    case "english":
        return "eng";
    ...
}

什么是更好的解决方案?

使用regex,您可以使用区分大小写的功能,这可能是一个优势

if(in_array($s,array("eng","en","english"))){
   //..
}
return (preg_match('/(en|eng|english)/i',$s)) ? 'eng' : 'default';

使用regex,您可以使用区分大小写的功能,这可能是一个优势

return (preg_match('/(en|eng|english)/i',$s)) ? 'eng' : 'default';

谢谢我喜欢这个解决方案,因为你可以静态地定义数组。谢谢。我喜欢这个解决方案,因为您可以静态地定义数组。