- ベストアンサー
$val.の.はつなげる意味と同じで使われているのですか?
- 上記の書き方で$val.の.はつなげる意味と同じで使われています。
- $keyと$valの関係は、配列の要素のキーと値のペアを表しています。
- この書き方はプログラミングのコードではよく使われており、配列のループ処理に利用されます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>上記の書き方で$val.の.はつなげる意味と同じで使われているのですか? そうです。 これを echo "<input type=\"hidden\" name=\"$key\" value=\"$val\">\n"; と書いてしまったら、全てが文字列として認識されてしまい、$keyや$valという文字列が表示されます。 表示結果: <input type="hidden" name="$key" value="$val"> そうではなくて、$keyと$valに格納されているデータを表示させたいので、"<input type=\"hidden\" name=\""と一旦文字列を終了させた後に「.」で文字列連結をしています。 表示結果($keyにname、$valにchura86が入っていた場合): <input type="hidden" name="name" value="chura86"> >また、$keyと$valの関係を教えてください。 $HTTP_POST_VARSがPOST送信されたデータを格納している連想配列なのはご存知ですか? 例えば、 <INPUT TYPE="text" NAME="name" VALUE="chura86"> というデータがPOST送信された時、 $HTTP_POST_VARS{"name"} には chura86 というデータが格納されている事になります。 while (@list($key,$val) = each($HTTP_POST_VARS)) $HTTP_POST_VARSに格納されている全てのデータを処理するまでループさせていますね。 これは、$HTTP_POST_VARSの添え字と内容を取得して、それぞれを$keyと$valに格納しています。 先ほどの例ですと、 添え字:name 内容:chura86 ですので、$keyには"name"が、$valにはchura86が格納されています。 アンケート等、たくさんのデータが飛んでくるものを、いちいち$HTTP_POST_VARS{"***"}と指定するのは手間がかかるし無駄が多いですよね。 こうする事で、一つ一つのデータを名前を指定して処理せずに、ループで簡単に処理する事が出来ます。
お礼
大変わかりやすく解説していただきまして、本当にありがとうございます。 この解説を頼りにPHP頑張ります♪