ドットインストール学習日記:PHPで作る「ビンゴシート」

今日のドットインストール学習記録。
短時間で終わりそうな、PHPのレッスンをやってみた。

PHPで作る「ビンゴシート」

全6回のレッスンに沿って書いてみたのがこちら。

ビンゴのマスに入る数を、2次元配列に格納して、tableで書きだす。

<?php
$bingo = array();

for ($i=0; $i<5; $i++) {
	$numbers = range($i*15+1, $i*15+15);
	shuffle($numbers);
	$bingo[$i] = array_slice($numbers, 0, 5);
}
$s = "";
for ($j=0; $j<5; $j++) {
	$s .= "<tr>";
	for ($k=0; $k<5; $k++) {
		$s .= ($j==2 && $k==2) ? "<td></td>" : sprintf("<td>%s</td>", $bingo[$k][$j]);
	}
	$s .= "</tr>";
}
?>
<!DOCTYPE html>
<html lang="ja">
	<head>
		<meta charset="UTF-8" />
		<title>BINGO!</title>
	</head>
	<style type="text/css">
		td, th {
			width: 50px;
			height: 30px;
			border: 1px solid #CCC;
			text-align: center;
		}
	</style>
	<body>
		<h1>BINGOシート</h1>
		<table>
			<tr><th>B</th><th>I</th><th>N</th><th>G</th><th>O</th></tr>
			<?php echo $s; ?>
		</table>
	</body>
</html>

ブラウザで表示させるとこんな感じ

まとめ

今回使った関数をちょこっとまとめておく

array 配列をつくる
range 範囲を指定して配列をつくる
shuffle 配列をシャッフルする
array_slice 配列の一部を取り出す
sprintf フォーマットされた文字列を返す