/**
* 识别地址码
*
* @param string $num 传入18位身份证的编码
* @return array 地址信息,array(0 => '省', 1 => '市', 2 => '区(县)')
* @param auto lianghuiju
*/
function parse_addr($num)
{
$arr_rtn = array(0 => '', 1 => '', 2 => ''); // 省/市/区县
if (strlen($num) != 18)
{
return $arr_rtn;
}
$file_data = dirname(__FILE__)."/area_code.dat";
if (!file_exists($file_data))
{
return $arr_rtn;
}
$h = fopen($file_data, "r");
$s1 = str_pad(substr($num, 0, 2), 6, "0", STR_PAD_RIGHT);
$s2 = str_pad(substr($num, 0, 4), 6, "0", STR_PAD_RIGHT);
$s3 = str_pad(substr($num, 0, 6), 6, "0", STR_PAD_RIGHT);
while (!feof ($h))
{
$buffer = fgets($h, 4096);
$arr = explode(",", $buffer);
// 前两位
if (strcmp($arr[0], $s1) == 0)
{
$arr_rtn[0] = $arr[1];
}
// 中间两位
if (strcmp($arr[0], $s2) == 0)
{
$arr_rtn[1] = $arr[1];
}
// 末两位
if (strcmp($arr[0], $s3) == 0)
{
$arr_rtn[2] = $arr[1];
break;
}
}
fclose($h);
return $arr_rtn;
}
神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。