PHPのランダムを使い方をもう少し調べたらこんな使い方ができました
はじめに
PHPでランダムの事を前回書きましたが、これってよく考えれば登録している件数が多ければ多いほど重くなっていきます。
なので、今回は少し考え方を変えてみました。
注意事項
素人発想なんで間違っている可能性もあります
全部を取得するのではない
前回作ったものは
登録した物を全件ランダムで表示させる
と言った内容ですが、今回は
登録した物を任意の数のみランダムで表示させる
です。
言葉ではわかりずらいので一例をご紹介します。
画像で考えよう
スライドで画像を見せる時にランダムで表示させる場合、「登録した物を全件ランダムで表示させる」なので、画像が純粋に100あれば100表示、1,000あれば1,000件表示させる事になります。
ただ、1,000件もあれば読み込みに時間がかかってしまうので、そういった意味でお勧めできません。
なので、今回の「登録した物を任意の数のみランダムで表示させる」では、1,000件登録した画像のうち5枚だけランダムに取得して表示させるという内容になります。
そうする事でスライドショーに表示させるのに非常に軽くなるので表示スピードも上がります。
コードをご紹介します
- 登録している画像10枚
- 表示させる枚数3枚
<?php $name =array( '<img src="画像URL1" />', '<img src="画像URL2" />', '<img src="画像URL3" />', '<img src="画像URL4" />', '<img src="画像URL5" />', '<img src="画像URL6" />', '<img src="画像URL7" />', '<img src="画像URL8" />', '<img src="画像URL9" />', '<img src="画像URL10" />', ); $a=0; while($a<3){ //表示させる画像の枚数 $i = rand(0,6); //登録画像の-1した数 if( $check[$i] != 1 ){ $check[$i] = 1; echo "$name[$i]" ; $a++; }} ?>
以上です。
さいごに
すらすら書けるように勉強したい
今はってか昔からずっと勉強する時間がないと書いていますが、その通りです。
もう少し勉強したいけどこの勉強がどうやって仕事に生かせるのかを考える方が少し大変です。