PHPでテキストやバナーをランダム表示

テキストやバナー、広告などをランダム表示するためのPHPについてです。

こちらはPHPなので、ワードプレスのテーマに書き込まなければいけないので注意。
記事内などでは基本的に使えません。

広告バナーなどのランダム表示に便利!

ランダム表示出来る要素はテキストだけに限らず、HTMLも可能。

つまり、画像バナーやアドセンスのようなscript広告もランダム表示が可能です。

アクセスする度に、
アドセンス広告が表示されたり。
自社広告が表示されたり、
関連記事が表示されたり
…という同じスペースでのランダム表示が出来るというわけですね。

同じ確率でランダム表示

同じ確率でランダム表示させる場合は、こちらの記事を参照。
アクセスするたびに表示内容が変わるページ

<?php
$fortune = array(
  \"大吉\",
  \"中吉\",
  \"小吉\",
  \"吉\",
  \"末吉\",
  \"凶\",
  \"大凶\"
);
$count  = count($fortune);
$random = rand(0, $count - 1);
echo $fortune[$random];
?>

こちらをPHP(ワードプレスのテーマなど)に貼り付ければ、「大吉」~「大凶」までのテキストがランダムで表示されます。

テキストの部分をバナーなどに自由に変える事ももちろん可能です。

「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\");
?>

こちらのPHPは、
「10%の確率です」「20%の確率です」「30%の確率です」「40%の確率です」
の4つのテキストが、アクセスする度に確率にそって出現します。

もちろん、各テキストの部分を広告や画像を貼り付けることも出来ますね。

投稿日:2016年12月9日(金) 06:54

コメントを入力

You must be logged in to post a comment.

TOP