まずあなたが書いたPHPのコードの行を見てみましょう:
I.
$stack = array("");
はこの""
の一つの要素と呼ばれるarray
$stack
を作成します。 $stack[0]
の値は""
になります。あなたはこのように、関連するarray
の要素に名前を付けることができます。
$stack = array("name" => "value");
この場合$stack["name"]
が"value"
になります。
II。
array_push($stack, $_POST[name]);
name
は変数でも文字列でもないので、これは間違っています。あなたは、おそらく意味:$_POST["name"];
の値が何であっても
array_push($stack, $_POST["name"]);
これはあなたの配列が""
を持つの終わりに$_POST["name"]
を書かれているだろう、そう$stack[1]
はされていると思います。
III。
for(i < $stack.length){
これは誤った構文です。あなたは$
は、すべての変数の前とどのように似て、これはサイクルのためのJavaにあるに置かれているか
for($i = 0; $i < count($stack); $i++){
注意を意味しています。
IV。
print_r($stack[i]);
正しくない、あなたはそれ以外の場合は、あなたの変数が協力しないだろう、現金($
)が必要です。
print_r($stack[$i]);
ただし、POSTリクエストかGETかはチェックしないでください。ユーザーがページをロードすると、それはGETリクエストになり、form
を送信するとPOSTリクエストになります。 form
がまだ提出されていないため、最初の(GET)リクエストには$_POST
のメンバーがありません($_POST
は空になります)。そして、あなたはそれがPOSTリクエストであるかどうかを確認し、あなたが"name"
が$_POST
に存在しているかどうかを確認する必要がある場合:
<html>
<body>
<form action="welcome.php" method="post">
Name: <input type="text" name="name"><br>
<input type="submit">
</form>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') { //it is a post
if (isset($_POST["name"])) { //name is found inside $_POST
echo "Name is " . $_POST["name"];
}
}
?>
をQuestion1:$_SESSION
は
$stack
のように、
array
です。あなたはこのような何かを行うことができます。
$_SESSION["name"] = $_POST["name"];
これは、このような割り当て、you need to make sure the session was started前に、しかし、"name"
の指標と$_SESSION
の新しい要素を作成します。
Question2:
あなたはJavaで使用すると、整数のみを使用することができますが、単にJavaでのように、しかし、PHPであなたは、同様にあなたがしたい場合は、テキストインデックスを持つことができ、インデックスの名前でそれを参照。
あなたはここにjavascriptの世界ではありません! 'for(i <$ stack.length)'は 'foreach($ stack as $ v){print $ v;}になります。 } ' – JustOnUnderMillions
あなたはJavaの方法でやった...しかし、あなたはなぜ変更する必要がありますか? – Smit
http://php.net/manual/en/control-structures.foreach.php –