OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

変数名をフォームの値から設定したい

  • すぐに回答を!
  • 質問No.139028
  • 閲覧数80
  • ありがとう数0
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 60% (3/5)

フォーム上でアンケートを集計するプログラムを書いています。
年代、性別、回答という項目があり、各回答につき、年代と性別別の表を出力するものです。
IF文でやれば出来るのですが、プログラムを極力短くするために、フォームの回答から一定の変数を書き出して計算させる方法を考えています。

例えば30代の男で1番に回答があった時には、データは"age=30&sex=man&ans=1"という具合で渡されてくるので、これを並べて変数名として扱い、変数"$30man1"に1をプラスするというようなことを行いたいのですが、試行錯誤してもうまくいきませんでした。
文字列を並べた値を変数名として認識させるところがダメなようです。

可能であれば、方法をご存じの方、お教えいただければ幸いです。

よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル12

ベストアンサー率 75% (398/526)

文字列を変数名として使うには、シンボリックリファレンスと言う機能を使います。
  ${"文字列"}
とすれば、この「文字列」を変数名として
  ${"文字列"} = 10;
のように使うことができます。

ところが
  ${"30man1"}
は、変数名が数字で始まることになってしまうので、必ず文字になる値を先頭に持ってくるか、ダミーで1文字入れるかしないとだめです。

ところで、これはPerlの話でよいのでしょうか?
CGIを作っているのだとしても、言語の問題で質問するなら、そちらのカテゴリで質問すべきですよ?
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル8

ベストアンサー率 46% (22/47)

連想配列でいきましょう。
連想配列でいきましょう。
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ