![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
市販の本を参考にPHPを勉強しています。
以下の(2箇所あります)$_GET['m']の'm'とは何なのでしょうか。mを得たらリセット・・?でもmを得るってなんなんでしょう??
突然出てきて困っております。
初歩的な質問かもしれませんが、よろしくお願いします。
<?php
//-------------------------------------------------------
//宝探しゲーム
//-----------------------------------------------------
//セッションの開始
session_start();
//タイトルと説明表示
echo "<h1>宝探し</h1>";
echo "<p>マップ上の適当な場所をクリック!</p>";
//ゲーム状態を判定する
$stat = $_SESSION['stat'];
if (!$stat || $_GET['m'] == "reset"){ //初めての場合、リセット時
init_game();
draw_map();
exit;
}
//パネルを開くとき
if ($_GET['m'] == 'click'){
click_panel();
}
// ゲームパラメータの初期化
function init_game()
{
//ゲームの初期化
$_SESSION['stat'] ='playing';
$_SESSION['turn'] =0;
//宝の位置を設定する
$_SESSION['takara_x'] = rand(0,8);
$_SESSION['takara_y'] = rand(0,8);
//マップを初期化
for ($y = 0; $y < 9; $y++){
for ($x = 0; $x < 9; $x++){
$_SESSION["map"][$y][$x] = "*";
}
}
}
//マップの描画(tableタグ表示)
function draw_map()
{
//マップを描画する
$map = $_SESSION['map'];
$s = "<table border='1'>";
for ($y = 0; $y < 9; $y++) {
$s .="<tr>";
for ($x = 0; $x < 9; $x++){
$v = $_SESSION["map"][$y][$x];
$color = "#FFFFFF";
if ($v == "*"){
$v = "<a href ='?m=click&x=$x&y=$y'>*</a>";
$color = "#COCOCO";
}
$s .= "<td width='24' align='center' bgcolor='$color'>";
$s .= "$v</td>";
}
$S .="</tr>";
}
$s .= "</table>";
echo $s;
echo "<p>現在、{$_SESSION['turn']}手目です。</p>";
echo "<p><a href='?m=reset'>* RESTART *</a></p>";
}
//パネルクリック時の処理
function click_panel()
{
$x = intval($_GET['x']);
$y = intval($_GET['y']);
$takara_x = $_SESSION['takara_x'];
$takara_y = $_SESSION['takara_y'];
$_SESSION['turn']++;
//宝を有無を判定
if ($takara_x == $x && $takara_y == $y) {
//宝を見つけた判定
$_SESSION["map"][$y][$x] = '<font color="red">@</font>';
echo '<h1>☆大当たり☆</h1>';
draw_map();
init_game();
}else{
//間違えた場合は宝までの距離を表示
$dist = abs($takara_x - $x) + abs($takara_y - $y);
$_SESSION['map'][$y][$x] = $dist;
echo "<p>残念でした!ヒント・・あと $dist の距離のところ</p>";
draw_map();
exit;
}
}
?>
No.1ベストアンサー
- 回答日時:
コメントの「//初めての場合、リセット時」は、
「初めての場合はリセットする」という意味ではなく、
「初めての場合、または、リセット操作した場合、以下の処理を行う」という意味です。
$_GET は、呼び出し元のHTMLに記述された引数を取得する変数です。
HTMLがどうなっているのか挙げられていませんので想像ですが、
おそらく「最初から遊ぶ」という操作を指示するボタンがあって、
そのボタンでは、名前が「m」値が「reset」な引数を渡すように設定しているのでしょう。
それが、「リセット時」
「初めての場合」は、「!$stat」を指しているのだと思います。
$_SESSIONは、PHP内部のセッション管理によって、
PHPプログラムが終了した後も、次回起動時にまで
ユーザー(ブラウザ)ごとに変数値を覚えることが出来ます。
$stat の元になった $_SESSION['stat'] は、PHPコード内で値を設定していますから、
それが設定されていないということは、そのサイトを訪れた「初めての場合」である、
ということがわかります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php 確認表示画面で値をSESSIONから取り出す理由の解釈は正しいでしょうか? 1 2023/06/09 17:39
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP sessioncookieをではなくcookieを使わなければならない理由について… 4 2022/11/07 13:01
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
変数の中の<br>を消したい
-
phpでcookieがうまく保存されない
-
eとは?
-
syntax error, unexpected 'ech...
-
switch()文で値の大小比較
-
csvの特定のキーワードを指定し...
-
DBのハッシュ化したパスワード...
-
オブジェクトの中身の判定(PHP)
-
明日の18:00から!Amazon cyber...
-
ゼロとNULLを区別して number_f...
-
動的なPHPを静的なhtmlページに...
-
XMLのタグの有無をPHPで判定し...
-
phpにおいて$xを計算式の文字列...
-
Windowsのsetコマンドでの小数...
-
vbsのif文で複数条件の判定
-
php で 20連続ガチャ作成中な...
-
WIN FIXER2005
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
phpでcookieがうまく保存されない
-
findstrのerrorlevel
-
syntax error, unexpected 'ech...
-
小数点以下0の非表示
-
バッチファイルで、全てのウィ...
-
オブジェクトの中身の判定(PHP)
-
PHPで訪問回数を表示するカウン...
-
ゼロとNULLを区別して number_f...
-
bashの関数の引数にスペースが...
-
ナベアツプログラム(3の倍数...
-
変数の受け渡しによる画像の表示
-
PHP一覧表示した項目にリンクを...
-
Windowsのsetコマンドでの小数...
-
Parse error というエラーの対...
-
pdftkを使った処理をバッチファ...
-
DBのハッシュ化したパスワード...
おすすめ情報