さて。昨日紹介した『重複しない複数の要素をランダムに表示する方法 jQuery編』に引き続き、今日は同じ処理を PHP で実現させる方法を紹介します。

echo "<ul>";
$name =array(
	'要素1',
	'要素2',
	'要素3',
	'要素4',
	'要素5'
);
$check = array_fill(0,5,0);
$a=0;
while($a<2){
$i = rand(0,4);
if( $check[$i] != 1 ){
$check[$i] = 1;
echo "<li>". "$name[$i]" ."</li>";
$a++;
}
}
echo "</ul>";

上記の例では5つある要素の中から2つをランダムに表示させています。

while($a<2) の部分の数値が、表示させたい要素の数。
その下の行の rand(0,4) の部分で乱数を発生させています。この場合は要素が5つなので (0,4) としていますが、プログラム言語では最初の「1」は「0」でカウントするので、例えば要素が7つの場合は (0,6) と書き換えます。

参考:重複しない複数の要素をランダムに表示する方法。(jQuery編)

重複しない複数の要素をランダムに表示する方法。(PHP編):
サンプルページ