- 这里的for循环之所以条件小于2,是为了增加十六进制数据的复杂度
- 至于生成多少个十六进制的数字,根据所需
- 拼接的结果字符串有点瑕疵,使用的时候手动处理去掉最后一个逗号“,”即可。
/** * 生成随机的18位 * 十六进制数字 */ function random () { $arr = array(); $str = 1; while($str <= 18) { for($i=0; $i < 2; $i++){ // 增加复杂度 if ($i == 1) { $delimiter = ‘,‘; } else { $delimiter = ‘‘; } @$num .= dechex(rand(0,15)) . $delimiter; } $str++; } $arr[] = $num; $arr=array_unique($arr); // print_r($arr); }
如果需要加上ox开头的话,使用下面代码即可:
$str=bin2hex("shanghai"); $str=preg_replace(‘/(..)/‘,‘0x$1‘,$str); echo $str;
时间: 2024-10-20 14:32:34