zoukankan      html  css  js  c++  java
  • PHP——判断数组中是否有重复值并找出重复值

    可以用来测试需要唯一凭据号码的,是否有重复值,不过一般直接使用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);
  • 相关阅读:
    CB文件读入后输出中文乱码问题
    2019-ICPC-沈阳站打铁感想
    计蒜客习题:画图游戏(Havel-Hakimi定理)
    计蒜客练习题:接龙(带权并查集)
    搜索----Dungeon Master
    最短路 poj1502 MPI Maelstrom
    poj 3259 Wormholes
    Silver Cow Party
    Til the Cows Come Home
    Cow Contest
  • 原文地址:https://www.cnblogs.com/wangyang0210/p/10243908.html
Copyright © 2011-2022 走看看