1. 程式人生 > >PHP判斷陣列中是否有重複值並找出重複值

PHP判斷陣列中是否有重複值並找出重複值

可以用來測試需要唯一憑據號碼的,是否有重複值,不過一般直接使用uuid了,簡單粗暴就解決問題,這個就簡單的測試生成的資料是否有重複值吧

 

<?php

/*
* @Author: wyy
* @Date:   2019-01-09 13:34:16
* @Email:  [email protected]
* @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);