可以用来测试需要唯一凭据号码的,是否有重复值,不过一般直接使用uuid了,简单粗暴就解决问题,这个就简单的测试生成的数据是否有重复值吧
<?php /* * @Author: wyy * @Date: 2019-01-09 13:34:16 * @Email: 2752154874@qq.com * @Last Modified by: wyy * @Last Modified time: 2019-01-09 13:48:39 */ /** * 生成抽奖好 * @method build_rand_no * deep * @return [int] 抽奖号码[description] */ function build_rand_no() { @date_default_timezone_set("PRC"); $order_id_main = rand(1000, 9999); //主体长度 $order_id_len = strlen($order_id_main); $order_id_sum = 0; for ($i = 0; $i < $order_id_len; $i++) { $order_id_sum += (int)(substr($order_id_main, $i, 1)); } //抽奖号码 $rand_number = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100, 2, '0', STR_PAD_LEFT); return $rand_number; } //循环指定次数 for ($i=0; $i<100; $i++) { $prize[$i] = build_rand_no(); } //打印数组 var_dump($prize); //检测是否有重复值 if (count($prize) != count(array_unique($prize))) { echo '该数组有重复值'; } //返回重复值 function fetchArray($array) { // 去重 $unique_arr = array_unique($array); // 比较 $repeat_arr = array_diff_assoc($array, $unique_arr); return $repeat_arr; } $list = fetchArray($prize); var_dump($list);
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理