php如何生成不重複訂單號(php如何生成不重複訂單號)

本文目錄一覽:

php 如何生成訂單號

訂單號一般是根據用戶ID,購買時間,商品ID生成的,

比如用戶ID:123,購買時間:1353364885,商品ID:567,

則訂單號可以是:123-1353364885-567

php怎麼動態生成訂單號

?php

$pre = date(“Ymd”);

//得到數據庫中當前日期的最大訂單號(這一步可以是通過查詢數據庫,或者通過緩存記錄當前日期的最大訂單號,如果不存在 則默認值就為 $maxOrder = str_pad($pre,12,0); )

$maxOrder = ‘取得的值’;

$order = intval($maxOrder) + 1;

?

thinkphp訂單號怎麼生成

PHP 生成訂單號,GUID 方法

生成訂單號

function build_order_no() {  

  return date(‘Ymd’).substr(implode(NULL, array_map(‘ord’, str_split(substr(uniqid(), 7, 13), 1))), 0, 8);

}

生成GUID

function guid() {  

  if (function_exists(‘com_create_guid’)) {      

      return com_create_guid();  

  } else {  

      mt_srand((double)microtime()*10000);

      $charid = strtoupper(md5(uniqid(rand(), true)));

      $hyphen = chr(45);      

      $uuid   = chr(123)          

               .substr($charid, 0, 8).$hyphen            

               .substr($charid, 8, 4).$hyphen          

               .substr($charid,12, 4).$hyphen          

               .substr($charid,16, 4).$hyphen          

               .substr($charid,20,12)          

               .chr(125);

      return $uuid;  

  }

}

php如何生成不重複的流水號

拿txt/xml/sqlite/mysql 存 day number

然後獲取的時候, 如果day不為今天, 則number重置, 再寫入day為今天,否則number++

php 隨機生成不重複用戶ID

php可以使用uniqid函數生成唯一的ID

uniqid — 生成一個唯一ID

string uniqid([ string $prefix = “”[, bool $more_entropy = false]])

獲取一個帶前綴、基於當前時間微秒數的唯一ID。

參數說明:

prefix:有用的參數。例如:如果在多台主機上可能在同一微秒生成唯一ID。

prefix為空,則返回的字符串長度為13。more_entropy 為        TRUE,則返回的字符串長度為23。

more_entropy:如果設置為 TRUE,uniqid() 會在返回的字符串結尾增加額外的煽(使用combined linear congruential generator)。使得唯一ID更具唯一性。

返回值:

返回字符串形式的唯一ID。

php隨機生成數據庫中不存在、不重複數字

說下思路:

1. 將生成的數字保存到mysql數據庫,然後每次生成的號碼不能與數據庫的數字重複,請問怎麼弄?

先讀取數據庫已存在的數字,將結果以數組格式,與rand(1,1000)的數組相比較計算差集,去除這部分數字(array_diff),再shuffle,得到新的隨機數。

我覺得,你完全可以建立一個序號表,比如,1-1000,每次用時先用隨機函數取(1-數據記錄數)個數值,再用這個數值取得相應的記錄,當取出之後,刪除這個記錄,這樣保證記錄總數一直會減少且數字也不會重複。

2. 有沒有什麼辦法生成的時候先生成一位數的,一位數生成滿了以後再生出兩位數的,兩位數滿了然後再三位數的,以此類推?

先獲取一位數的記錄,再從中隨機抽取一個,如果數據庫中沒有找到一位數的,就遞增一位數,直到找到為止。

3. 代碼的執行效率希望能越高越好!

如果想要代碼執行效率,最好盡量減少與數據庫的交互。

原創文章,作者:IWNQK,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127963.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
IWNQK的頭像IWNQK
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若服務器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27
  • PHP版本管理工具phpenv詳解

    在PHP項目開發過程中,我們可能需要用到不同版本的PHP環境來試驗不同的功能或避免不同版本的兼容性問題。或者我們需要在同一台服務器上同時運行多個不同版本的PHP語言。但是每次手動安…

    編程 2025-04-24
  • PHP數組去重詳解

    一、array_unique函數 array_unique是php中常用的數組去重函數,它基於值來判斷元素是否重複,具體使用方法如下: $array = array(‘a’, ‘b…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • php擴展庫初探

    一、什麼是php擴展庫? PHP擴展庫(PHP extension)是一些用C語言編寫的動態鏈接庫,用於擴展PHP的功能。PHP擴展庫使得PHP可以與各種數據庫系統相連、SMTP、…

    編程 2025-04-23

發表回復

登錄後才能評論