在PHP中执行此操作
我让用户输入城市的缩写,将其保存为字符串,例如:
if (author != null && author.equals(mUsername)) {
llMessage.setGravity(Gravity.RIGHT | Gravity.END);
}else{
llMessage.setGravity(Gravity.LEFT | Gravity.START);
}
ANA
BOS
这些代表:
VAN
Anaheim
Boston
我想要它,这样当我得到输入/字符串时,它会将字符串名称更改为全名。
Vancouver
- > ANA
Anaheim
- > BOS
Boston
- > VAN
最好的方法是什么?谢谢大家,非常感谢。
答案 0 :(得分:1)
Peut22的答案正在发挥作用,但我认为最好将这些对存储在阵列中以便更加易于维护。您也可以从数据库或配置文件中获取此数组。
$names = array(
"ANA" => "Anaheim",
"BOS" => "Boston",
"VAN" => "Vancouver",
);
if(array_key_exists((string)$userinput, $names)) {
echo $names[$userinput];
} else {
echo "invalid";
}
答案 1 :(得分:0)
我认为通过使用一个开关可以得到一个好的结果,如果你发生了缩写,它将返回完整输入字符串的全名,如果名字不被识别的话。
伪代码中的一个例子是:
Switch string
case "ANA" : string = "Anaheim"
case "BOS" : string = "boston"
end
switch ($i) {
case "ANA":
$i="anaheim"
break;
case "BOS":
$i="boston"
break;
}
答案 2 :(得分:0)
更新:已修复,因此没有"未定义的索引" - 如果您设置了这么低的error_reporting
级别,请注意:
$names["ANA"] = "Anaheim";
$names["BOS"] = "Boston";
$names["VAN"] = "Vancouver";
function getFullName($input, $names)
{
//turning all input into upper case letters:
$input = strtoupper($input);
//making sure input is maximum 3 characters long:
$input = substr($input, 0, 3);
if(!array_key_exists($input, $names))
{
return "*ERROR: Unknown City Abbreviation*";
}
else
{
return $names[$input];
}
}
//usage:
$user_input = "bos";
echo getFullName($user_input, $names);