/** * 验证字符串是否为合法的身份证号码 */ function validateidNr($idNr) { $Wi = [ 7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1 ]; $Y = [ 1, 0, 10, 9, 8, 7, 6, 5, 4, 3, 2 ]; $sum = 0; for ( $i = 0; $i < 17; $i++) { $sum += $Wi[$i] * intval(substr($idNr,$i, 1)); } $checksum = substr($idNr,17, 1); if(strtolower($checksum) == "x") $checksum = "10"; if($Y[$sum % 11] == intval($checksum)) { return true; } else { return false; } }
/** * 数组排序 根据第二维数组的值 将第一维数组排序 * 参数1.需要排序的二维数组 * 参数2.排序的根据 即数组元素中用来排序的键值 * 参数3.排序的方式 大于0 为降序 等于零为升序 */ function sortyArrayByKey($ary,$key,$a=1) { $aryTemp = array(); $aryKeyValue = array(); foreach ($ary as $value) { $aryKeyValue[] = $value[$key]; } $aryKeyValue = array_unique($aryKeyValue); if($a>0) { rsort($aryKeyValue); } else { sort($aryKeyValue); } foreach($aryKeyValue as $keyValue) { foreach($ary as $aryValue) { if($aryValue[$key]==$keyValue) { $aryTemp[]=$aryValue; } } } return $aryTemp; }