Exemple #1
0
 /**
  * 随机生成一个 18 位身份证。
  * @link http://baike.baidu.com/view/1697.htm#4 [<description>]
  * @link http://zhidao.baidu.com/question/1954561.html [<description>]
  * @return [type] [description]
  */
 public static function id()
 {
     $addressId = Helper::pick(array_keys(\Mock\Dictionary\Address::getDictionay()));
     $sum = 0;
     $rank = array("7", "9", "10", "5", "8", "4", "2", "1", "6", "3", "7", "9", "10", "5", "8", "4", "2");
     $last = array("1", "0", "X", "9", "8", "7", "6", "5", "4", "3", "2");
     $id = $addressId . Date::date('Ymd') . Basic::string('number', 3);
     for ($i = 0; $i < strlen($id); $i++) {
         $sum += $id[$i] * $rank[$i];
     }
     $id .= $last[$sum % 11];
     return $id;
 }