身分証明書番号が合法かどうか、地域性別検証規則


<?php
//①1-2        
//②3-4          
//③5-6         
//④7-10 11-12 13-14    、 、 
//⑤15-17    ,      、  、        ,     ,     
//⑥18    ,   0-9  0-9  ,   10  X(    10)  
$arr = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2];
$result = [1, 0, 'X', 9, 8, 7, 6, 5, 4, 3, 2]; //     ,       




$code = trim($_GET['code']);




$count = 0;
foreach ($arr as $key => $val) {
    $num = substr($code, $key, 1);
    $count += $num * $val;
    if($key == 16)
        $sex = $num;
}




$n = intval($count % 11);
$a = substr($code, -1, 1);
if (!in_array($n, array_flip($result)) || $result[$n] != strtoupper($a)) {
    die('      ');
}


if($sex%2==0)
    echo '   ,';
else
    echo '   ,';




echo '  ';