株式会社NUF Web班のカワシマです!!今回は乱数を利用した簡単なランダム出力をご紹介しようと思います。使えると思ったら丸々コピペしてOKです!!
弊社サイトトップのツイッターの秘密に気づきました??
パソコンから見ると弊社トップページにあるTwitterのウィジェット。
実は更新するたびにランダムで4つのうち1つのアカウントが表示されるようになっています。
とても簡単に実装できるのでご紹介!!
見本コード
実際に弊社サイトに使われているコード
<h3>
NUFは勝手に<?php
$r = rand(0,3);
if ($r == 0) {
echo ‘株式会社NUF’;
} elseif ($r == 1) {
echo ‘真夜中のデザインオネエ’;
} elseif ($r == 2) {
echo ‘パペットマペット’;
} else {
echo ‘मत्स्य’;
}
?>さんを応援しています
</h3>
<?php
if ($r == 0) { echo ‘<a href=”“https://twitter.com/nuf_twit?ref_src=twsrc%5Etfw“”>Tweets by nuf_twit</a> ‘;
} elseif ($r == 1) {
echo ‘<a href=”“https://twitter.com/design_oneee?ref_src=twsrc%5Etfw””>Tweets by design_oneee</a> ‘;
} elseif ($r == 2) {
echo ‘<a href=”“https://twitter.com/papeushikaeru?ref_src=twsrc%5Etfw””>Tweets by papeushikaeru</a>
‘;
} else {
echo ‘<a href=”“https://twitter.com/Matsya_?ref_src=twsrc%5Etfw””>Tweets by Matsya_</a>
’;
}
?>
ランダム数字を出力
まずウィジェットタイトルの”NUFは勝手に〇〇〇を応援しています”の部分です。
まずランダムに数字を出力するコードを書きます。弊社サイトでは表示させているアカウントが4つあるので、0〜3までの数字をランダムで出力します。
$r = rand(0,3);
この部分でランダムに数字を出力しています。0〜3までの場合はこうなりますが、中の数字を変えればもっとたくさんの数字を出力できます。
たとえばランダムに表示させるものが10個ある場合なら、0から9までの数字が出力されればいいので…
$r = rand(0,9);
こういう記述になります。
ウィジェット見出しを出力
次にランダム数字と実際にページに表示させるものを結びつけていきます。
見出しのの出力
if ($r == 0) {
echo ‘株式会社NUF’;
} elseif ($r == 1) {
echo ‘真夜中のデザインオネエ’;
} elseif ($r == 2) {
echo ‘パペットマペット’;
} else {
echo ‘मत्स्य’;
}
このコードを日本語で解説すると。。。
もし0の場合 | if ($r == 0) |
---|---|
’株式会社NUF’を呼び出す | echo ‘株式会社NUF’; |
もし0でなく1の場合 | elseif ($r == 1) |
---|---|
‘真夜中のデザインオネエ’を呼び出す | echo ‘真夜中のデザインオネエ’; |
もし0~1でなく2の場合 | elseif ($r == 2) |
---|---|
‘パペットマペット’を呼び出す | echo ‘パペットマペット’; |
どれも当てはまらない場合 | else |
---|---|
‘मत्स्य’を呼び出す | echo ‘मत्स्य’; |
といった感じです。乱数を小さい数字から当てはまるか試していって当てはまったところを表示させるというイメージです。
ifは最初に…elseは最後に使います。
表示させるものの種類を増やしたい場合はelseifの部分を増やして、それぞれ数字を指定してあげていってください。
ツイッターウィジェットの出力
次の肝心なウィジェットの中身であるツイッター表示の出力です。
ウィジェットの出力
<?php
if ($r == 0) { echo ‘<a href=”“https://twitter.com/nuf_twit?ref_src=twsrc%5Etfw“”>Tweets by nuf_twit</a> ‘;
} elseif ($r == 1) {
echo ‘<a href=”“https://twitter.com/design_oneee?ref_src=twsrc%5Etfw””>Tweets by design_oneee</a> ‘;
} elseif ($r == 2) {
echo ‘<a href=”“https://twitter.com/papeushikaeru?ref_src=twsrc%5Etfw””>Tweets by papeushikaeru</a>
‘;
} else {
echo ‘<a href=”“https://twitter.com/Matsya_?ref_src=twsrc%5Etfw””>Tweets by Matsya_</a>
’;
}
?>
前項のタイトル出力がわかれば簡単です。というより、全く同じことをしています。
ランダム数字の出力はタイトル出力の部分ですでにできているので書く必要はありません。同じようにif~elseif~elseをかいてあげて、内容を数字と照らしあわせて見出しと揃えてあげるだけです。
まずif ($r == 0) dの場合ですが、さきほどのタイトルの際に0のときは’株式会社NUF’を見出しに呼び出していたので、NUFのツイッターウィジェットのコードを呼び出します。
次にelseif ($r == 1)の場合、これも同じでさきほど乱数が2のときは’デザインオネエ’を呼び出していたので、デザインオネエさんのツイッターウィジェットのコードを呼び出します。
もうわかると思いますが、elseif ($r == 2)の場合も同じく’パペットマペット’さんのツイッターウィジェットを…elseも’मत्स्य’’さんのツイッターウィジェットを呼び出します。
これにて完成!
これで終わりですー。簡単なので丸々コピペしてなかをちょっと弄って実装できるかと思います。
流れとしては…
- 1・・・表示させるものの個数分の乱数を出力させる
- 2・・・if構文でそれぞれの数字が出た際に表示させるものを指定する
- 3・・・合わせて表示させるものがあれば、数字を揃えてif構文を書く
これだけです。
初歩の初歩ですが、乱数の出力っていろいろなところで使えるのでぜひおためしあれ!!
この記事を書いた人
- カワシマ
- WEBデザイン部