语法:
int crc32 ( string str )
必要参数。选择需要计算的字符串
说明:
生成 str 的 32 位循环冗余校验码多项式。这通常用于检查传输的数据是否完整,用来验证一个整数的有效性的。
由于 PHP 的整数是带符号的,许多 crc32 校验码将返回负整数,因此你需要使用 sprintf() 或 printf() 的“%u”格式符来获取表示无符号 crc32 校验码的字符串。
实例一:
在下面这个案例中,我们将使用/不使用“%u”格式来输出crc32()的结果(注意:返回的结果是相同的):
$str = crc32("php教程!");
echo 'Without %u: '.$str."
";
echo 'With %u: ';printf("%u",$str);
/*
结果:
Without %u: -1057731797
With %u: 3237235499
*/
?>
实例二:
function crc32Key($key,$n){
//使用crc32做校验
//$key为传入的变量
if($n>1){
return (crc32($key)&0x7fffffff)%$n;//返回0-$n任意数字
}else{
return 1;
}
}
echo crc32Key(md5(444),5);//输出2
echo crc32Key(md5('php'),5);//输出4
?>