晓夏

北漂的女孩

Good Luck To You!

根据身份证号码识别省市县

浏览量:438

/**
 * 识别地址码
 *
 * @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;
}


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。