PHP에서 고유 일련번호를 생성하는 방법: 1. "str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);"를 통해 고유 일련번호를 생성합니다. 2. implode 및 array_map 등을 통해 함수 구현 고유한 시퀀스 번호를 생성합니다.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터.
PHP가 반복되지 않는 고유 숫자를 생성하는 방법 요약
PHP는 반복되지 않는 고유 숫자를 어떻게 생성합니까? 예를 들어 주문 시 고유 번호를 생성해야 하는 경우가 많습니다. 일반적인 상황에서는 PHP에서 제공하는 uniqid()가 요구 사항을 충족할 수 있지만 동시성이 높은 경우 고유하고 반복되지 않는 숫자를 생성하는 더 나은 솔루션이 필요합니다. 이 기사에서는 예제 코드를 공유할 예정이며, 모든 사람에게 도움이 되기를 바랍니다.
얼마 전 전자상거래 프로젝트를 진행하면서 주문번호를 생성해야 했습니다. 당시 고려사항은 매우 간단했는데, 시스템 시간을 들여 임의의 숫자를 추가하거나 uniqid() 메소드를 사용하는 것이었다. 위의 방법을 신중하게 고려하시기 바랍니다. 고객이 소량 구매 시 중복 주문 가능성은 없습니다. 단, 구매 성수기에 발생하는 주문 번호의 중복이 발생할 가능성은 매우 높습니다.
첫 번째 유형
return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
두 번째 유형
return date('Ymd').substr(implode(NULL, array_map('ord', str_split(substr(uniqid(), 7, 13), 1))), 0, 8);
세 번째 유형
//生成24位唯一订单号码,格式:YYYY-MMDD-HHII-SS-NNNN,NNNN-CC,其中:YYYY=年份,MM=月份,DD=日期,HH=24格式小时,II=分,SS=秒,NNNNNNNN=随机数,CC=检查码 @date_default_timezone_set("PRC"); while(true){ //订购日期 $order_date = date('Y-m-d'); //订单号码主体(YYYYMMDDHHIISSNNNNNNNN) $order_id_main = date('YmdHis') . rand(10000000,99999999); //订单号码主体长度 $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)); } //唯一订单号码(YYYYMMDDHHIISSNNNNNNNNCC) $order_id = $order_id_main . str_pad((100 - $order_id_sum % 100) % 100,2,'0',STR_PAD_LEFT);
네 번째 유형:
인터넷에서 검색해 봤는데 이 동창의 아이디어가 꽤 좋은 것 같아요, 레드타모, 구체적으로 가서 구경해 보세요. 간략한 개요를 제공합니다. 이 방법은 영문자, 연도, 월, 일, Unix 타임스탬프, 마이크로초 및 난수를 사용합니다. 중복 가능성이 크게 줄어들어 여전히 매우 좋습니다. 문자의 사용은 매우 대표적인데, 한 문자는 1년에 해당하며, 그 이상도 그 이하도 아닌 총 16자리입니다. 하하.
생성효과:
A422694333616096
아쉽게도 이렇게 복잡하게 만들 필요가 없었다며 최종 프로젝트에서는 이 방법을 사용하지 않았네요,--!
위의 네 가지 방법은 모두 이 글에서 공유한 내용이므로 마음에 드셨으면 좋겠습니다.
【추천:PHP 비디오 튜토리얼】
위 내용은 PHP에서 고유 일련번호를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!