我有一堆代表美国每个县的编码数字。每个县的代码都是唯一的,由两位数的州代码和基于县的三位奇数组成。
例如,在我的 SQL 数据库中,德克萨斯州的代码是 42。德克萨斯州达拉斯县是 42113;德克萨斯州道森县是 42115。
我正在尝试将这些代码与另一个包含类似代码但具有不同状态代码的数据库表进行匹配。在这个数据库中,德克萨斯州的代码是 45,所以达拉斯县是 45113。所以,即使我有正确的数据,代码也没有正确匹配。
这是我目前提取数据的方式。
$result = mysql_query("SELECT county_id,county,state FROM data GROUP BY county_id");
$rows = array();
while($row = mysql_fetch_array($result)) {
$county_id = $row['county_id'];
$county = $row['county'];
$state = $row['state'];
array_push($rows,$row);
printf ("%s,%s,%s\n<br>", $row['county_id'], $row['county'], $row['state']);
}
这给了我美国每个州的编码列表
我需要做的是将每个county_id 转换为正确的州代码号码,同时保持每个代码的最后三位数字相同。即如果字符串'state'的值为TX,那么我需要将'45113'中的'45'改为'42113'。如果字符串 'state' 的值为 WV,我想将 '47* ' 中的 '47' 更改为 '12* '。
出于某种原因,我只是想不出一种有效地做到这一点的方法。有任何想法吗?