質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

4回答

2365閲覧

10桁のユニークな数字(文字列)を生成する方法

poteto4401

総合スコア57

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/05/13 07:33

簡単にできる関数があれば教えていただきたいです。

なければ、Timestampを検討しているんですが、Timestampだと気づかれない方法はありますでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

R.Mizukami

2020/05/13 08:44

「Timestamp だと気づかれない方法」とありますが、数値の生成パターンを解析されてはならないという要件があるのでしょうか。 また、「Timestamp」がユニークになるためには絶対に同時に実行されないという保証がなければなりませんが、その前提でいいのでしょうか。
guest

回答4

0

どのくらいの接続頻度なのかによりますが
同時接続を考慮しなくていいなら秒単位で10桁の数字はすぐ拾えます

投稿2020/05/13 07:43

yambejp

総合スコア114779

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/05/13 07:45

ただし上記数値をアナグラム化すれば一見タイムスタンプだとは わかりませんが、時間をおいてなんパターンか調査されれば 変化する部分でタイムスタンプかどうかはバレバレです
guest

0

同一秒に生成しないことが保証できるレベルの頻度であれば、出力履歴を持ったほうが間違いないですし管理もしやすいかと。
桁数が増やせればUUIDなどが使えますが。

投稿2020/05/13 08:53

x98000

総合スコア1096

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ユニークにしたいのならPHPかなにかで出力履歴を保存して、
検証して出力する方が圧倒的に楽で確実だと思います。

投稿2020/05/13 08:26

編集2020/05/13 08:28
kyoya0819

総合スコア10429

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

おす!

なければ、Timestampを検討しているんですが

Timestampはどう考えてもユニークな10桁の数字じゃねぇだろ。
もしかして、ランダムな10桁の数字って言いてぇのか?

投稿2020/05/13 07:34

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/05/13 07:36

ランダムな10桁の数字を、常にユニークに生成し続けたいってぇ事か?
poteto4401

2020/05/13 07:37

悟空さ、ご回答ありがとうございます。 現在時刻をTimestampにすると、1589355348といった値になりますがユニークとはいえませんか? 重複しない=ユニークだと思っていました。 ランダムな10桁です。
退会済みユーザー

退会済みユーザー

2020/05/13 07:39

そしたら、過去に生成した数字を記録して検証しなきゃなんねぇけど、 どこに記録するかは実装次第だから、そのものズバリの組み込み関数があるわけねぇぞ。 自分でつくるしかねぇ。
退会済みユーザー

退会済みユーザー

2020/05/13 07:43

>1589355348といった値になりますがユニークとはいえませんか? そういう事なら、たしかにユニークだな。 > Timestampだと気づかれない方法はありますでしょうか? なら、年月日時分秒をそれぞれ2桁ずつ、全12桁にして順番を変えれば 少し気づきにくいユニークな数値にはできるな。 ただ、Timestampの場合もそうだけんども全く同じ秒に生成することになるとユニークにはならねぇからなぁ。 やっぱ、楽しようとせずにちゃんとコード書いたほうがいいと、おら、思うぞ。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問