2011-11-29 8 views
0

私はすべてのユーザー投稿の乱数を投稿のタイトルとして生成したいと考えています。一意の乱数を生成する効率的な方法は何ですか?

私は単にクエリごとにデータベースをチェックして、データベースのエントリと同じでない番号を生成することができます。しかし、これは非効率的であると私は想像しています。また、データベースのすべての数字を「等しくない」、配列などで管理するためにどこかに入れなければならないが、それは巨大なものとして終わる可能性がある。

素人の言い訳を言い訳私はこれに新しいです。

どのようにこれを効率的に解決するには、リソースをあまりにも逼迫させることなく?あなたはそれを言語学的に説明することができ、スクリプトを私に提供する必要はありません。私はそれを理解します。

+1

ユニークなid - phpにはuniqid()があり、ほとんどのdbはmysqlのUUIDに何かを持っています –

+2

なぜデータベースから 'auto_increment'を使うことができないのですか? –

+0

Zeusの本、ランダムな一意のIDはユーザー投稿のタイトルであることを意図しています。自動インクリメントによりページが工業的に見えるようになり、人生を奪うと乱数はより鮮やかに見えます。 – Carpet

答えて

0

uniqid()を使用できます。私はそれがどのように移植性がよく分かりません。

例:のような

printf("uniqid(): %s\r\n", uniqid()); 

ウィル出力何か:

uniqid(): 4b3403665fea6 
+0

uniqid()はうまくいきました、私はちょうどそれを試してみました、すべての助けをありがとう! – Carpet

0

uniqid()はあなたに技術的に繰り返すことができます乱数を与えます。

自動インクリメントフィールドに単純なアルゴリズムを適用できますか? n(n + 1)/ 2か何か?

関連する問題