【发布时间】:2015-02-18 00:17:11
【问题描述】:
如果这个问题已经得到回答,我深表歉意,但我已经搜索了高低,但无法弄清楚这一点。我有一个存储客户地址的 MySQL 数据库,我希望能够从表中提取地址并打印它们以便从网页邮寄。问题是表格中的州名称不是缩写形式,所以我一直在尝试转换它们。当我提取数据时,我将其存储到一个数组中。保存状态的数组称为 $state,我使用计数器 ($data) 从每个数组中提取每组值。这是我的函数代码:
function convertState($name){
switch($name){
case "Alabama":
return "AL";
break;
case "Alaska":
return "AK";
break;
case "Arizona":
return "AZ";
break;
[ ... list all other states ... ]
case "Wyoming":
return "WY";
break;
case "Other" || "other":
return $province;
break;
default:
return;
}
在我看来它应该可以工作,但是当我尝试像这样传递它时:convertState($state[$data]);
什么也没有发生,所有州名仍然拼写出来。我希望它在打印时将每个状态转换为它的缩写。
【问题讨论】:
-
会不会是小写/大写的问题?尝试这样的事情,看看会发生什么? switch(strtolower ($name)) { case "wyoming": return "WY";休息; }
-
你已经这样称呼它了:
$state[$data] = convertState($state[$data]);对吧?因为函数会返回转换后的值,所以不会在传递的参数中改变它 -
不,我不是那样称呼它的。哎呀。谢谢它完美地工作!案例“其他”|| “其他”:返回$省;休息;是现在唯一不起作用的方面,但我想我可以解决这个问题。再次感谢!
-
@Wayfrae
case "Other": case "other": ... break;是这样做的方法