[PHP]ランダムで複数の値を重複しないように処理 | Webサイト運営ブログ


[PHP]ランダムで複数の値を重複しないように処理

Written on 2009年11月25日 – 1:25 PM | by admin |

ランダムで複数の文字や値を表示する際に、重複しない処理です。

以下のように記述します。

$str_arr = array(
"PHP","MySQL","Web","Site","CGI","HTML","Good","Bad"
);
$str_ct = count($str_arr);
for($i=0; $i<5; $i++){
$d = $i + 1;
$t = $str_arr - $d;
$rd = rand(0, $t);
echo $str_arr[$rd];
array_splice($str_arr, $rd, 1);
}

randとでランダムに配列の位置を指定し、それをarray_spliceで削除しています。
次のfor処理の時にはさきほどのランダムで表示した値は消えているので、$iで引くことによって値が引かれた数($t)をだし、再びランダムに指定してます。



PHP 逆引きレシピ (PROGRAMMER’S RECiPE)

著者/訳者:鈴木 憲治 安藤 建一 山田 直明 八木 照朗 山本 義之 河合 勝彦

出版社:翔泳社( 2009-06-30 )

定価:¥ 2,730

Amazon価格:¥ 2,730

単行本(ソフトカバー) ( 768 ページ )

ISBN-10 : 4798119865

ISBN-13 : 9784798119861



タグ: ,
Yahoo!ブックマークに登録 はてなブックマークに追加 このエントリーをFC2ブックマークへ追加 BuzzurlにブックマークBuzzurlにブックマーク あとで読む
スポンサード リンク



コメント投稿

※誹謗中傷や公序良俗に反するコメントはコメントアウトでIPアドレスが残る場合があります。


OLIVESYSTEM

当サイトはOLIVESYSTEM(略称olisys及びオリシス)が運営するウェブログです。
Webサイトの運営メモ、本のレビュー、HTML,CSS,PHPプログラミングに関する話題が中心です。そのほかにも、IT製品、動画、有益なWebページの紹介なども行っていきます。
記事検索 :

あわせて読みたいブログパーツ


フィードメーター - Webサイト運営ブログ=OLIVESYSTEM=
ページビューランキング
ページランク pixiv