• 締切済み

foreachの代入時 $$を使う理由

フォームからPOSTで値を受け取り、変数に代入する方法ですが、最後の$$kの意味がわかりません。 $k=$v;では、キチンと動作されず理解に困っています。 なぜ$$k=$v;で動作が正常なのでしょうか? プログラム自体はPHPによる スーパーサンプルという本に書いてあったのですが、説明もなく釈然としません。 if($_SERVER["REQUEST_METHOD"]=="POST"){ foreach($_POST as $k=>$v){ if(get_magic_quotes_gpc()){ $v=stripslashes($v); } $v=htmlspecialchars($v); $$k=$v; } } ググっても$$自体の検索がかけれず、色々なサイトで探したのですが、結局わからなかったので、分かる方がいたらよろしくお願いします。

みんなの回答

  • t_ohta
  • ベストアンサー率38% (5292/13826)
回答No.1

$$k = $v; は、$kの中身が”abc”だとすると $abc = $v; と言うことになります。 プログラムの内容からすると、フォームの名前で変数を作って、その中に値を入れているようですね。

DIGITRE
質問者

お礼

速い回答ありがとうございました。 意味がよく分かりました。 釈然としてなく、本を参考にフォームを作ったのですが、全体的な意味が理解できました。 POSTで受け取った値を変数キーに代入するための物だったのですね。 ありがとうございました。

関連するQ&A