2011-07-25 2 views
1

私は小さな問題を抱えており、乱数のために私自身のalgoを生成したくありません。PHPを介して '今日の単語'を生成する乱数

私はウェブサイト上に「今日の単語」を表示する必要があります.1日に1回だけ変更する必要があり、すべてのデータはXML形式で保存されます。 pageloadで、PHPのsimpleXml Parserでxmlファイルを読み込み、配列の長さと0の間の乱数を生成し、term +定義を出力します。

しかし、私はそれをリフレッシュするたびに変更したくないし、データベースのサーバーに保存したくない。

どのようにして0からNまでの乱数を生成できますか。これは24時間のスパンに対して同じ値を与えます。

答えて

9

現在の日付を時間、分、秒なしのシードに設定するだけです。

srand(mktime(0, 0, 0)); 
$wordIndex = rand(0, $wordCount); 

これは、1日に同じ番号を返します。

+0

はうまくいきます!ありがとう! – Tarun

6

オプション1:乱数はありません。毎日インデックスを1つ増やすだけです。誰もあなたのファイルを知らないので、それは十分にランダムに見えます。それが十分でない場合は、入力ファイルをランダム化して(一度シャッフルしてから再度安全にしてください)。

オプション2:今日の日付を乱数ジェネレータのシードとして使用します。

+0

単語はアルファベット順に並べられており、検索機能も備えています。毎日1つずつインデックスを増やすことは実現できません...オプション2を試してみると、PPにシードベースの乱数のオプションがあることが分かりませんでした。 – Tarun

0

保存したくない場合は、日付や曜日などの毎日のサイクルに接続されているものを使用してください。

2
<? 
    srand(date("ymd")); 
    echo rand(); 
?> 
関連する問題