• ベストアンサー

phpのrand関数は本当にランダム?

pondbookの回答

  • ベストアンサー
  • pondbook
  • ベストアンサー率53% (7/13)
回答No.1

CやC++でもrand関数は初期値指定以後は同じ結果になるでしょう。そのため意図的にランダムな初期値を最初に与えるようにします。 phpは使ったことがないが多分 srand(time); と現在時刻で初期化してrandを実行すれば同じ結果は出ないと思います。

feed12
質問者

お礼

どうもありがとうございました。

関連するQ&A

  • array_randの改善・配列からランダムにキーを取得

    配列からランダムに値を取得したい。関数array_randを用いると可能だが、同じ値を繰り返し取得してしまうことがある。この点を改善したい。方法をおしえてください。 (例) 配列 1,2,3,4,5,6,7,8,9 からarray_randでランダムに1つ選ぶ。 1回目、4が選ばれる。array_randの場合、2回目も4が選ばれてしまうことがある。これを4以外の8つの値から1つを選ぶように改善したい。これを繰り返す。最後は配列が空になるようにしたい。 状況 phpを実行する都度、配列は、別ファイルのデータを読み込んで使用している。実行するユーザーの識別が必要でしょうか?

    • 締切済み
    • PHP
  • RAND関数について

    http://okwave.jp/qa/q6489522.html の質問をしながらさらに疑問に思ったことがあります。 ランダムな数字を発生させようとしてRAND関数を使用しました。 今回は1以上で小数点以下の無い数字を発生させようとしました。 また、今回は9999以下にすることにします。 この場合「=RAND()*10000」とし、 桁区切りで小数点以下を消したら表示はランダムな四桁(以下)の数字が現れました。 ここで(例えば)「1234」の数字が現れたら書式設定する事にし、 条件付き書式から「1234と等しくなれば書式設定」をしたのですが、 1234が現れても書式が変わりません。 見た目は1234でも内部で違う数値だからなのでしょうか? このように乱数を発生させて任意の数字が出てきたら書式設定はどうすればいいのでしょうか?

  • jQueryでloadしたphpをapendToしたいのですが。

    jQueryのload関数を使って、日付を元にランダムな10ケタの数字を生成するプログラム(rand.php)を読み込み、そのプログラムの結果をcontentsというIDのdiv内にappendToしたいのです。 そして、5秒ごとにrand.phpを読み込み、そのたびにcontentsというIDのdiv内に結果をappendToしたいのです。 イメージとしては下記のような感じになります。 $(function(){ function loadAndAppend(){ $("div#contents").apendTo(load("rand.php")); setTimeout(loadAndAppend, 5000); }; loadAndAppend(); }); しかし、これだとうまくいきません。apendTo(load("rand.php"))という部分がおかしいのでしょうが、これをどう直せばよいか分かりません。 ぜひとも解決法を教えていただけないでしょうか。

  • ExcelのRAND関数

    ExcelのRAND関数で、0から1の間の乱数を発生させることができます。 たとえば、10万行のデータの各行に一度にRAND関数で乱数を発生させた場合(1件目に=RAND()を入力してから下方向コピーする。)、同じ値が発生することはありうるのでしょうか。 データ量が多くなるほど小数点以下の桁数が増えていくので、そのようなことは起きないようになっているのではないかと思いますが、実際はどうなのでしょうか? 

  • Excelでのランダムな整数の出し方

    A1のセルに、ルーレットのようにランダムな整数を 表示させたい時は、 =INT(RAND()*10) という関数を使うのだと思いますが、 これだと0~9までが均等に出現しますよね。 A1には、0,1,2の3つのみを ランダムに出現させたい、という場合は どのように設定すればいいのでしょうか? 宜しくお願いします。

  • 【PHP】関数で処理が止まってる??

    お世話になります。 PHPでの質問ですが、PHPに限ったものではないように思いますので、プログラム全般に対しての質問と思って下さって結構です。 ※PHP特有のという意見があれば、それも大歓迎です。 下記のようなコードを組んでみました。 <?php echo "func1の結果["; echo func1(); echo "]"; function func1(){ (内容は割愛) return TRUE; } ?> このコードをアップしてアクセスしてみると   出力結果  func1の結果[ でした。 ブラウザのステータスに「ページが表示されました」とあるので、処理中で出力待ちということはないと思います。 > echo func1(); > echo "]"; の箇所の出力はどうなっていると考えればいいのでしょうか? 「関数の内容次第で・・・」とお答えになる方、どういう内容だとこのような結果になるのかというところでお答えください。 私のプログラムによる根本的な考え方は、プログラムは上から下に順番になので、 上記内容の箇所にどんなコードがあったとしても、func1関数はTRUEを返すので、結果としては「func1の結果[1]」となるはずでした。 でも実際の出力結果をみると処理が途中で(おそらくfunc1()内で)止まっているともいます。 timeoutではないため無限ループに嵌ってっていうのもないと思います。 これはどういうことでしょう???

    • 締切済み
    • PHP
  • 外部参照のランダムリンクについて

    はじめまして、初めて投稿させていただきます。 プログラムの素人ですが、HPを作成しようとしています。 ある、HPのソースを見ると <a href="http://AAAA/v_rand.php">ああああ</a><BR> <a href="http://AAAA/v_rand.php">いいいい</a><BR> ・ ・ と、phpのファイルを外部参照させいるのを見つけました。 そして、ある1つのリンクを、クリック(更新)するごとに表示される ページが違います。(ランダムに表示されます) これは、どのように作られているのでしょうか。お分かりの方 教えていただけないでしょうか。

    • 締切済み
    • PHP
  • ランダム表示文字について

    if ( open( IN,"hoge.txt" ) ) {   @line = <IN>;   close( IN ); } else {   exit; } $random1 = @line[rand(@line)]; $random2 = @line[rand(@line)]; $randam3 = @line[rand(@line)]; テキストファイルから1行文字をランダムに表示するプログラムを書き実行できたのですが、このままだとrandom1,2,3の変数に同じものが入ってしまう可能性があります。 これで全て違うものが入るようなプログラムを書きたいのですが、そのようなことは可能でしょうか?

    • ベストアンサー
    • CGI
  • PHPの基本について

    2点の質問があります。 一点目は 他の外部ファイルを読み込みする場合に下記3種類がありますが(もしかしたら他にもあるのでしょうか?)どの方法がベストでしょうか?いろいろ調べるとエラー処理の問題だけのようですが、PHPは比較的初心者なのでよくわかりません。 <?php include("http://ooxx.oo/"); ?> <?php require("http://ooxx.oo"); ?> <?php readfile("http://ooxx.oo"); ?> 2点目は PHPでWEBサイト構築する場合とHTML場合にSEO対策上、どうでしょうか?(ここでいうPHPファイルはHTMLファイルをPHP拡張子で保存しただけで、静的アドレスにはなるので・・・?) よろしくお願いします。

    • 締切済み
    • PHP
  • よく使われてるPHPランダム広告について。

    よく使われてる(ネット上で見かける)PHPランダム広告についてですが、 // 初期化 srand((double)microtime()*1000000); $ad_list1 = file($absolute_path."/modules/ads/ads_01.txt"); $ad_key1 = array_rand($ad_list1, 2); // 広告の表示 $ad1 = $ad_list1[$ad_key1[0]]; 1.現在でも、srand関数を使う必要がありますか? 2.広告の表示は1つなのですが、array_rand($ad_list1, 2);の変数以外の部分の引数を1もしくは、何も書かない場合は広告が表示しないのは、何故なのでしょうか。2を書かないとだめで。。。 ちなみに、ads_01.txtの内容は、2行。 <a href=""><img src="" alt="" /></a> <a href=""><img src="" alt="" /></a> (""の内容は省略しています。) 色々調べたり、試しましたが、Xでした。。。 みなさん、ご回答いただければと思います。 よろしくお願いいたします。

    • ベストアンサー
    • PHP