一意の番号 (36 桁の非繰り返し番号) を生成するための PHP 実装_PHP チュートリアル
5桁のナンバープレート番号、10桁のID番号、注文シリアル番号、短縮URLなど、桁数に制限がある膨大なデータに番号を付けたい場合、 16 進数の計算を使用して、桁数に一致する一意の数値を取得できます。
文字 Z は 35 を表すなど、値 0 ~ 35 をそれぞれ表すために 0 ~ Z (0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ) を使用します。この場合、5 桁の数値を取得したいのですが、最大の情報量は 36 の 5 乗、36^5 = 60466176 です。つまり、最大 5 桁の数値は 10 進数に相当します: 60466176。 。
この記事ではデモンストレーションのために、クラブが 10 桁の会員カード番号のバッチを発行すると仮定します。会員カード番号は、3 桁の都市番号 + 5 桁のカード番号コード + 2 桁のチェック コードで構成されます。 。都市番号は市外局番で表されます。たとえば、755 は深センを表します。次の 2 つのチェック コードは、特定のアルゴリズムによって生成されます。コードはカード番号が正当であることを確認するためのものです。この場合、当社が生成する10桁のカード番号は最大6,000万件以上の会員カード番号に相当し、重複のない唯一のカード番号となります。
PHPの実装
PHPを使用して10進数を16進数に変換します。
クラスコード {
//パスワード辞書
プライベート $dic = array(
0=>「0」、1=>「1」、2=>「2」、3=>「3」、4=>「4」、5=>「5」、6= >'6', 7=>'7', 8=>'8',
9=>「9」、10=>「A」、11=>「B」、12=>「C」、13=>「D」、14=>「E」、15= >'F'、16=>'G'、17=>'H'、
18=>「I」、19=>「J」、20=>「K」、21=>「L」、22=>「M」、23=>「N」、24= >'O', 25=>'P', 26=>'Q',
27=>「R」、28=>「S」、29=>「T」、30=>「U」、31=>「V」、32=>「W」、33= >'X'、34=>'Y'、35=>'Z'
);
パブリック関数 encodeID($int, $format=8) {
$dics = $this->dic
$dnum = 36; // 基数
; $arr = 配列 (); $loop = true; while ($loop) {
$arr[] = $dics[bcmod($int, $dnum)]; $int = bcdiv($int, $dnum, 0); if ($int == '0') {
$loop = false; }
If (count($arr) $arr = array_pad($arr, $format, $dics[0]);
return implode('', array_reverse($arr)); }
パブリック関数 decodeID($ids) {
$dics = $this->dic
$dnum = 36; // 基数
; //キーと値の交換
$dedic = array_flip($dics); //ゼロを削除します
$id = ltrim($ids, $dics[0]); //反転
$id = strrev($id); $v = 0; for ($i = 0, $j = strlen($id); $i $v = bcadd(bcmul($dedic[$id {
$i }
]、bcpow($dnum, $i, 0), 0), $v, 0); }
$v を返します。 }
}
Code クラスを定義し、最初にパスワード辞書、つまり 0 から Z に対応する値を定義します。encodeID($int, $format) メソッドのパラメータ $int は数値を表し、$format はその値を表します。 encodeID(123456789,5) などの桁の長さ 123456789 という数値を 5 桁の 36 桁の数値に変換することを意味し、メソッド decodeID($ids) を使用して 36 桁の数値を 10 進数に変換します。
次のようにカード番号を生成できます:
$code = 新しいコード(); $card_no = $code->encodeID(888888,5);
実際のアプリケーションでは、番号が一意であることを確認するためにデータベースを通じて 10 進数を取得し、上記のコードを組み合わせて最終的に 10 桁の重複しない会員カード番号を生成します。
http://www.bkjia.com/PHPjc/824704.html
www.bkjia.com
ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7
