私は、米国の各郡を表す一連のコード番号を持っています。各郡のコードは一意であり、2 桁の州コードと郡に基づく 3 桁の奇数で構成されています。
たとえば、私の SQL データベースでは、テキサス州はコード 42 です。テキサス州ダラス郡は 42113 です。テキサス州ドーソン郡は 42115 です。
これらのコードを、同様のコードを含むが州コードが異なる別の DB テーブルと照合しようとしています。この DB では、テキサスがコード 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']);
}
これにより、米国の各州のコード化されたリストが得られます
私がする必要があるのは、各コードの最後の 3 桁を同じままにして、各 county_id を正しい州コード番号に変換することです。つまり、文字列「state」の値が TX の場合、「45113」の「45」を「42113」に変更する必要があります。文字列 'state' の値が WV の場合、'47* ' の '47' を '12* 'に変更したいと考えています。
何らかの理由で、これを効率的に行う方法に頭を悩ませることができません。何か案は?