備忘録として、現段階での最善の書き方を残しておく。
<?//マスターデータ-----------------------------------//
//名前でステータスを管理
$name = $_POST['name']; //送信された名前で判別
$nameArray = array('北海道太郎', 'シティボーイ', '田舎もん', '札幌花子'); /* ★編集箇所★ */
$koumoku = array('職業', 'HP', 'MP', '攻撃力', '守備力'); /* ★編集箇所★ */
switch ($name) {
case $nameArray[0]:
$koumokuValue = array('戦士', 50, 0, 45, 20); /* ★編集箇所★ */
break;
case $nameArray[1]:
$koumokuValue = array('勇者', 40, 15, 35, 27); /* ★編集箇所★ */
break;
case $nameArray[2]:
$koumokuValue = array('遊び人', 63, 0, 15, 10); /* ★編集箇所★ */
break;
case $nameArray[3]:
$koumokuValue = array('賢者', 40, 35, 22, 20); /* ★編集箇所★ */
break;
}
//カウント
$NameCountArray = count($nameArray);
$KoumokuCountArray = count($koumoku);
//var_dump($koumoku); ← array中身チェック
//現在の書き方だと、項目($nenrei、$syussinなど)が増えたときに、人数分追加しなければならない。
//表示部分はarrayにすることで、修正はない。
//マスターデータ-----------------------------------//?>
<!-- 以下、触らない!! -->
<html>
<head>
<title>phpのあれこれ練習</title>
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0">
<style>
body { text-align: center; }
</style>
</head>
<body>
<h1>変数の練習</h1>
<form method="post" action="index.php">
<input type="text" name="pass">
<input type="submit" value="送信">
</form>
<?//簡易パスワード
$pass = $_POST['pass'];
if($pass !== 'password'){
die();
}?>
<form method="post" action="index.php">
<select name="name">
<option>
<? if(!isset($name)) {
echo '選択して下さい';
}else{
echo $name;
} ?>
</option>
<?
for($i = 0; $i < $NameCountArray; $i++) {
echo '<option>' . $nameArray[$i] . '</option>';
}?>
<input type="hidden" name="pass" value="password">
<input type="submit" value="表示する">
</form>
<?//簡易パスワード
if(!isset($name)){
die();
}
//ステータス表示
echo '<p>名前 -> ' . $name . '</p>';
for ($i = 0; $i < $KoumokuCountArray; $i++) {
echo '<p>' . $koumoku[$i] . ' -> ' . $koumokuValue[$i] . '</p>';
}
?>
</body></html>
オブジェクト指向な書き方がまだできないので。。。