• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:確率変更可能ランダムテキス)

確率変更可能ランダムテキストを使って、一日一回テキストを変更する方法は?

このQ&Aのポイント
  • 確率変更可能ランダムテキストを使って、一日一回テキストを変更する方法について教えてください。
  • 現在、ランダムにテキストを表示するPHPを使用していますが、一日一回、特定の時間にテキストを変更したいと考えています。
  • どのようにすれば、朝の10時にテキストを変更し、次の朝10時まで同じテキストを表示することができるのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

乱数表のシード値を日付をもとにすればいいのでは? なお例では時間から10を引いているので、10時で切り替わります。 <? $seed= mktime(date("H")-10,0,0,date("m"),date("d"),date("Y")); srand( $seed ); $int = rand( 1,10 ); print $int; ?>

kazudarts
質問者

お礼

早速のご回答ありがとうございました 申し訳ありませんが これはどこにテキストを書き込めばいいのでしょうか? 当方プログラムに関してスキルが・・・>< よろしくお願いします

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

ソースに組み込むとすればこう <? $hit[0] = 1; $rtxt[0] = '10%の確率です'; $hit[1] = 2; $rtxt[1] = '20%の確率です'; $hit[2] = 3; $rtxt[2] = '30%の確率です'; $hit[3] = 4; $rtxt[3] = '40%の確率です'; $seed= mktime(date("H")-10,0,0,date("m"),date("d"),date("Y")); srand( $seed );//ここをコメントアウトすると毎回ランダム $sum_hit=array_sum($hit); $int = rand( 1,$sum_hit ); $sum_val=0; foreach($hit as $key=>$val){ $sum_val+=$val; if($sum_val>=$int) break; } print $rtxt[$key]; ?>

kazudarts
質問者

お礼

早速のご解答ありがとうございました 早速使ってみます 本当にありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PHPのランダムテキストで質問

    PHPのランダムテキストで質問します。 質問1 http://php.eweb-design.com/0204_krt.php こちらのサイトで以下のコードを見つけました。 <?php // hitには相対確率を入れる。完全にランダムにするなら全部"1"にする // rtxtには、テキストを入れる。改行はしないようにする // テキストを増やしたりする場合は、"[ ]"の数字が0から順になるようにする $hit[0] = 1; $rtxt[0] = '10%の確率です'; $hit[1] = 2; $rtxt[1] = '20%の確率です'; $hit[2] = 3; $rtxt[2] = '30%の確率です'; $hit[3] = 4; $rtxt[3] = '40%の確率です'; $length = count($hit) - 1; for($i=0; $i<=$length; $i++) { $m += $hit[$i]; } srand( (double)microtime()*1000000 ); $n = round(rand(1,$m) ); for($i=0; $i<=$length; $i++) { $x = $y; $y += $hit[$i]; if($x<$n && $n<=$y) $ad = $rtxt[$i]; } print("$ad"); ?> (上のコードをテキストエディタでrndtxt.phpと保存) 読み込みの際に <?php require("rndtxt.php"); ?> これを使うそうですが、htmlのファイル内に直接書いてアップロードしたのですが、何も表示されません。 何か間違っているのでしょうか?(自分なりに試したのですが、どうしても上手くいきません) 質問2 上のコードではランダムに1つしか表示されないようですが、これを2つとか3つなど自由に表示させるにはどのようにすればいいのでしょうか? よろしくお願いします。

    • 締切済み
    • PHP
  • phpでの画像ランダム表示方法

    リロードする度に違う画像を表示させたいのですが なかなかうまくいかないのでお力を貸してください! ・boxaには5枚の中から1枚をランダム表示させる ・boxbには10枚の中から3枚をランダム表示させる(重複させないで表示) -----index.php----- <div class="boxa"> <?php require("test.php"); ?> </div> <div class="boxb"> <?php require("test2.php"); ?> <br /> <?php require("test2.php"); ?> <br /> <?php require("test2.php"); ?> </div> -----test.php(http://php.eweb-design.com/0203_rt.phpさんのサンプルソースです)----- <?php $hit[0] = 1; $rtxt[0] = '<a href="http://hogehoge.com"><img src="http://hogehoge.com/image1.gif" alt="バナー1" width="500" height="200" /></a>'; ~~省略~~ $hit[4] = 1; $rtxt[4] = '<a href="http://hogehoge.com"><img src="http://hogehoge.com/image4.gif" alt="バナー5" width="500" height="200" /></a>'; $length = count($hit) - 1; for($i=0; $i<=$length; $i++) { $m += $hit[$i]; } srand( (double)microtime()*1000000 ); $n = round(rand(1,$m) ); for($i=0; $i<=$length; $i++) { $x = $y; $y += $hit[$i]; if($x<$n && $n<=$y) $ad = $rtxt[$i]; } print("$ad"); ?> -----test2.php----- <?php $hit[0] = 1; $rtxt[0] = '<a href="http://hogehoge.com"><img src="http://hogehoge.com/image6.gif" alt="バナー1" width="200" height="200" /></a>'; ~~省略~~ $hit[9] = 1; $rtxt[9] = '<a href="http://hogehoge.com"><img src="http://hogehoge.com/image15.gif" alt="バナー10" width="200" height="200" /></a>'; $length = count($hit) - 1; for($i=0; $i<=$length; $i++) { $m += $hit[$i]; } srand( (double)microtime()*1000000 ); $n = round(rand(1,$m) ); for($i=0; $i<=$length; $i++) { $x = $y; $y += $hit[$i]; if($x<$n && $n<=$y) $ad = $rtxt[$i]; } print("$ad"); ?> boxaにはtest.phpで指定した画像がランダム表示されるのですが boxbにはtest.phpとtest2.phpで指定した画像が出てしまい重複表示されてしまいます。 boxbにはtest2.phpで指定した画像のみを重複しないでランダム表示 させたいのですがどのようにしたらよいのでしょうか?

    • ベストアンサー
    • PHP
  • document.write以外の方法での記述法

    javascript無知識なのですが 諸事情により下記のjsをdocument.write以外の方法で記述しなければならないのですが document.write以外の記述で同じ効果が得られる記述法ってないのですか? あればご教示よろしくお願いします。 <script language="javascript"> <!-- function rotationAdv() { m = 0, x = 0, y = 0; ad = new Array(); adv = new Array(); hit = new Array(); hit[0] = 1; adv[0] = 'A'; hit[1] = 1; adv[1] = 'B'; hit[2] = 1; adv[2] = 'C'; for(i=0; i<=hit.length - 1; i++) { m += hit[i]; } n = Math.floor(Math.random() * m); n++; for(i=0; i<=hit.length - 1; i++) { x = y; y += hit[i]; if(x<n && n<=y) ad = adv[i]; } document.write(ad); } rotationAdv(); //--> </script>

  • jsファイルをhtml内で実行したい

    広告を入れ替えるjavascriptファイルがネット上で公開されているのですが それを使うにはjsファイルをダウンロードしてからサーバーにアップして、別途、htmlに実行させる記述を行えと書いていまして それは解説どおりにやればできたのですが、 この度、事情により、そのjsファイルを外部ファイルとしてではなく、html内に組み込みたい(組み込まなければならなくなった)のですが 素人でも簡単にできますか? jsファイルをメモ帳で開いてコピペして、実行する記述を追加すれば作動しますか? もし答えがYESなら実行する記述もご教示願います。 jsファイルの内容は次のとおりです。 function rotationAdv() { m = 0, x = 0, y = 0; ad = new Array(); adv = new Array(); hit = new Array(); // 広告0 hit[0] = 1; adv[0] = '広告タグ'; // 広告1 hit[1] = 1; adv[1] = '広告タグ'; // 広告2 hit[2] = 1; adv[2] = '広告タグ'; for(i=0; i<=hit.length - 1; i++) { m += hit[i]; } n = Math.floor(Math.random() * m); n++; for(i=0; i<=hit.length - 1; i++) { x = y; y += hit[i]; if(x<n && n<=y) ad = adv[i]; } document.write(ad); } 困っております。よろしくお願いします。

  • 確率収束について

    {X[n]}がXへ,{Y[n]}がYへ確率収束するならば、 {X[n]+Y[n]}はX+Yに確率収束するのをどのように示したらいいのかわかりません。 どなたか教えてください。 あと{X[n]}がXへ法則収束しても、一般にXへ確率収束しないということはどうしたらわかりますか?

  • 確率について

    X~N(30,6^2) Y~N(20,4^2)である変数X,Yがあり、互いに独立とする。 確率変数3X-13の取る値が確率変数6Y+17のとるあたい以上となる確率を求めなさい。 という問題のやり方がよく分かりません。 どなたか詳しく教えてください。

  • 確率変数の変換について(2つの確率変数の和)

    毎々お世話になっております. このたびは,2変数の確率変数の変換について質問させていただきます. [問] X1およびX2はi.i.d.でそれぞれ[0,1]の区間で一様に分布している. Y=X1+X2の確率密度関数を求めなさい. 上記の問いに関してですが, X1,X2の密度関数はf(xi)=1 for 0<=Xi<=1 i=1,2 であり, 同時確率はf(x1,x2)=1 for 0<=x<=1 であるというところまでは分かりました. また,X1=Y-Z,X2=Zとすることで,ヤコビヤンJ=1であるというとろこまではできました. しかし,これ以降,どのように考えれば良いのかが分かりません. 直感的に,X1とX2が一様に分布しているために,Y=X1+X2は0<=y<=2の範囲に分布し, y=1のときにg(y)が最大になるのであろうと考えられ, g(y)=y for 0<=y<=1 g(y)=2-y for 1<y<=2 1という確率密度関数になるであろうことは分かります. このような考え方が正しいかどうかも含めて,この問題の解法をご教示いただけないでしょうか? 何卒よろしくお願いいたします.

  • 確率変数列の期待値分散

    独立な確率変数列 x[0], x[1], x[2]・・・・  は 確率p で1  確率1-p で0の値を取ります。 この確率変数列をもとに 確率変数列 y[0], y[1], y[2],・・・・を      y[0]=1   y[i+1]=y[i]+a(x[i]-y[i]) (i=0,1,2,・・・)    ただし 0<a<1 この時 (1)y[n]=(1-a)^n+Σ【i : n-1~0】 (1-a)^(n-i-1)・x[i] となる事を示せ (2)y[n]の期待値Enと分散Vnを求めよ (3)E[∞]=lim【n→∞】En  V[∞]=lim【n→∞】Vn とおく、  1/2<p<3/4であるとき、  E[∞]-√V[∞] ≥ 1/2 を満たすaの最大値を求めよ 上の問題がわからなくて困っています。 どこかだけでも良いので、どなたか、教えてください。  よろしくお願いします。

  • 確率

    確率に悩んでいます 0,1,2,3,4,…,3nの数を書いた(3n+1)枚のカードがある。 そのうち1枚を引いたときのカードの数をXとする。 Y=|X-2n|(Y=0,1,2,3,…,2n)とするとき 1. P(Y=0),P(Y=1)は 2. P(Y=k)は 3. Yの期待値は X=0,1,2,…,n,n+1,n+2,…,2n,2n+1,…,3n Y=|X-2n| =0,1,2,…,n,n+1,n+2,…2nとなると思う?? そして、Y=0となるのはX=2n その後はわからないです できれば、途中式をつけてくれるとうれしいです

  • 確率変数

    X~N(30,6^2) Y~N(20,4^2)である変数X,Yがあり、互いに独立とする。 確率変数3X-13の取る値が確率変数6Y+17のとるあたい以上となる確率を求めなさい。 という問題がどのような流れで解いていったらいいのか分かりません。 どなたか計算の流れを教えてください。 お願いします。

このQ&Aのポイント
  • EP-882ABを使用しています。CDレベルを印刷するためにディスクトレイを正しくセットしても、正しくセットされていないメッセージが表示され、トレイが排出されてしまう。
  • EP-882ABを使用し、CDレベルの印刷を行う際にディスクトレイを正しくセットしても、エラーメッセージが表示されトレイが排出される問題が発生しています。
  • EP-882ABのディスクトレイを正しくセットしても、印刷ができない問題が発生しています。正しくセットされていないメッセージが表示され、トレイが排出されてしまいます。
回答を見る