ユーザー入力データを$ _SESSION配列に継続的にプッシュしてから取得するにはどうすればよいですか?

Abulurd

私はPHPセッションの仕組みに頭を悩ませようとしています。私は単に、最初のプレーヤーが秘密の単語を入力し、2番目のプレーヤーが一度に1文字を推測し始める絞首刑執行人ゲームを試しています。

レッツは、秘密の言葉であることを言うcat、プレイヤー2トライ、cそしてaその後s最終的な出力をにしたいと思いますc a _

  <?php
session_start();

global $word;
global $guess;
global $hangman;


if (isset($_POST['player1'], $_POST['word'])) {
    $_SESSION['word'] = $_POST['word'];
    $word = $_SESSION['word'];
}

if (isset($_POST['player2'], $_POST['guess'])) {
    $_SESSION['guess'] = $_POST['guess'];
    $guess = $_SESSION['guess'];
}

$counter = 0;
$word = strtolower($_SESSION['word']);
$guess = strtolower($_SESSION['guess']);
echo $word . "<br>";
$found = [];

$counter = 0;

for ($i = 0; $i < strlen($word); $i++) {
    if ($counter < strlen($word)) {
        if (strpos($word[$i], $guess) !== false) {
            $found[] = $guess;
            $counter++;
        } else {
            $found[] = " _ ";
        }
    }
}

  print_r($found);

found配列のすべての内容を印刷する代わりに、毎回1文字しか印刷できません。ただし、前述のように、完全に連結された文字列を見たいと思います。


出力は次のようになります。

ここに画像の説明を入力してください

キング

ユーザー入力データを$ _SESSION配列に継続的にプッシュしてから取得するにはどうすればよいですか?

これを行う簡単な方法は、変数を$ _SESSION配列の要素にバインドすることです。これは、マニュアルにはない便利なトリックです簡単な例:

$foo =& $_SESSION['foo'];

その割り当ては同じ値にバインドされるため$foo$_SESSION['foo']へのすべての更新はへの更新$fooでもあり$_SESSION['foo']ます。

絞首刑執行人ゲームのスタイルでの使用例を次に示します。

<?php
session_start();

$word =& $_SESSION['word'];   //bind $word with $_SESSION['word']
$found =& $_SESSION['found']; //bind $found with $_SESSION['found']

if (isset($_REQUEST['word'])) {
    $word = str_split($_REQUEST['word']);
    $found = array_fill(0, count($word), '_');
}
if (isset($_REQUEST['guess'], $word, $found)) {
    $guess = array_fill(0, count($word), $_REQUEST['guess']);
    $found = array_replace($found, array_intersect($word, $guess));
}

echo join(' ', $found);

結合すると、の値$wordとは、$found実行する必要がなく、セッションデータの一部として保存されます$_SESSION['word'] = $word;$_SESSION['found'] = $found;、スクリプト内の任意の場所。

ブラウザでのテストを簡単にするため$_REQUESTに、の代わりにを使用していることに注意してください$_POST必要に応じて変更します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

配列を使用してユーザー入力を取得するにはどうすればよいですか

分類Dev

JavaScriptを使用してユーザー入力時間データ(分と秒)を配列に追加するにはどうすればよいですか?

分類Dev

CasperJSの実行を停止し、ユーザーに値を入力させてから実行を継続するにはどうすればよいですか?

分類Dev

UItextfieldからユーザー入力を取得して配列に追加するにはどうすればよいですか?

分類Dev

ユーザーからの入力として取得されたデータ型を格納する文字列をsizeof()演算子に渡し、データ型のサイズを取得するにはどうすればよいですか?

分類Dev

入力からデータを取得し、jQueryを使用してそれらを配列に配置するにはどうすればよいですか?

分類Dev

ユーザーが入力したらMathQuillデータを取得するにはどうすればよいですか?

分類Dev

Ruby2.3。ユーザー入力文字列を配列に変換してから、個々の要素に分割するにはどうすればよいですか?

分類Dev

ユーザーからの入力を取得してベクターに保存するにはどうすればよいですか?

分類Dev

ユーザー入力データを辞書として取得するにはどうすればよいですか?

分類Dev

HTMLからElementsByClassNameを取得してJavaScript配列にプッシュするにはどうすればよいですか? このアレイにアラートを送信するにはどうすればよいですか?

分類Dev

ユーザー入力に基づいてJSONデータをフィルタリングして表示するにはどうすればよいですか?

分類Dev

Android アプリを自分の RESTful API に継続的に接続して、データを継続的に取得するにはどうすればよいですか?

分類Dev

ユーザーが入力に入力したデータをGoogleAnalyticsで追跡するにはどうすればよいですか?

分類Dev

ユーザー入力に基づく関数を使用してデータフレームを作成するにはどうすればよいですか?

分類Dev

ユーザーから入力を取得し、tkinterでPythonコード(sql)として入力を実行するにはどうすればよいですか?

分類Dev

ユーザー入力に応じてiloc()を使用して増分生データを表示するにはどうすればよいですか?

分類Dev

テキストボックス入力からユーザーフォームリストボックス/コンボボックス配列/リストにデータを入力するにはどうすればよいですか?

分類Dev

ユーザーがデータベース情報を入力したかどうかを確認するにはどうすればよいですか?

分類Dev

eloquentを使用してLaravelにユーザーIDの入力データを保存するにはどうすればよいですか?

分類Dev

配列から列にデータを入力するにはどうすればよいですか?

分類Dev

setStateを使用して配列にプッシュするにはどうすればよいですか?

分類Dev

ユーザー入力文字列を個々の文字の配列として取得するにはどうすればよいですか?

分類Dev

ユーザー入力を取得して行番号を見つけ、その行のすべてのデータをドキュメントテンプレートに適用するにはどうすればよいですか?

分類Dev

`forin`ループ内でユーザー入力を取得するにはどうすればよいですか

分類Dev

文字列からハッシュを取得してから、JavaScriptでハッシュから文字列を取得するにはどうすればよいですか?

分類Dev

配列を使用してデータを入力するにはどうすればよいですか?

分類Dev

ユーザーに配列を入力させるにはどうすればよいですか?

分類Dev

JFrameJavaでユーザー入力から文字列を描画するにはどうすればよいですか

Related 関連記事

  1. 1

    配列を使用してユーザー入力を取得するにはどうすればよいですか

  2. 2

    JavaScriptを使用してユーザー入力時間データ(分と秒)を配列に追加するにはどうすればよいですか?

  3. 3

    CasperJSの実行を停止し、ユーザーに値を入力させてから実行を継続するにはどうすればよいですか?

  4. 4

    UItextfieldからユーザー入力を取得して配列に追加するにはどうすればよいですか?

  5. 5

    ユーザーからの入力として取得されたデータ型を格納する文字列をsizeof()演算子に渡し、データ型のサイズを取得するにはどうすればよいですか?

  6. 6

    入力からデータを取得し、jQueryを使用してそれらを配列に配置するにはどうすればよいですか?

  7. 7

    ユーザーが入力したらMathQuillデータを取得するにはどうすればよいですか?

  8. 8

    Ruby2.3。ユーザー入力文字列を配列に変換してから、個々の要素に分割するにはどうすればよいですか?

  9. 9

    ユーザーからの入力を取得してベクターに保存するにはどうすればよいですか?

  10. 10

    ユーザー入力データを辞書として取得するにはどうすればよいですか?

  11. 11

    HTMLからElementsByClassNameを取得してJavaScript配列にプッシュするにはどうすればよいですか? このアレイにアラートを送信するにはどうすればよいですか?

  12. 12

    ユーザー入力に基づいてJSONデータをフィルタリングして表示するにはどうすればよいですか?

  13. 13

    Android アプリを自分の RESTful API に継続的に接続して、データを継続的に取得するにはどうすればよいですか?

  14. 14

    ユーザーが入力に入力したデータをGoogleAnalyticsで追跡するにはどうすればよいですか?

  15. 15

    ユーザー入力に基づく関数を使用してデータフレームを作成するにはどうすればよいですか?

  16. 16

    ユーザーから入力を取得し、tkinterでPythonコード(sql)として入力を実行するにはどうすればよいですか?

  17. 17

    ユーザー入力に応じてiloc()を使用して増分生データを表示するにはどうすればよいですか?

  18. 18

    テキストボックス入力からユーザーフォームリストボックス/コンボボックス配列/リストにデータを入力するにはどうすればよいですか?

  19. 19

    ユーザーがデータベース情報を入力したかどうかを確認するにはどうすればよいですか?

  20. 20

    eloquentを使用してLaravelにユーザーIDの入力データを保存するにはどうすればよいですか?

  21. 21

    配列から列にデータを入力するにはどうすればよいですか?

  22. 22

    setStateを使用して配列にプッシュするにはどうすればよいですか?

  23. 23

    ユーザー入力文字列を個々の文字の配列として取得するにはどうすればよいですか?

  24. 24

    ユーザー入力を取得して行番号を見つけ、その行のすべてのデータをドキュメントテンプレートに適用するにはどうすればよいですか?

  25. 25

    `forin`ループ内でユーザー入力を取得するにはどうすればよいですか

  26. 26

    文字列からハッシュを取得してから、JavaScriptでハッシュから文字列を取得するにはどうすればよいですか?

  27. 27

    配列を使用してデータを入力するにはどうすればよいですか?

  28. 28

    ユーザーに配列を入力させるにはどうすればよいですか?

  29. 29

    JFrameJavaでユーザー入力から文字列を描画するにはどうすればよいですか

ホットタグ

アーカイブ