PHPで変数名を動的に変えて使う方法
2014/07/02
変数名を動的に変えて使用したかった。
調べてみると可変変数というものがあり、希望の動作になった。
■リファレンス
http://php.net/manual/ja/language.variables.variable.php
■参考サイト
http://www.res-system.com/weblog/item/607
http://d.hatena.ne.jp/purazumakoi/20071210/1197273718
■使い方
$i = 1;
${'hoge' . $i}; //$hoge1と同じ
■作ったソース
アンケートみたいなものが作りたかった。
アンケートの質問数は不特定で、質問パターンは
チェックボックスorラジオボタンorテキストボックスorテキストエリア。
何がいくつ来るか不特定。だいぶはしょるけど下記のような感じでいけた。
/*送信側*/
<input type="checkbox" name="ans_<?=$seq;?>[]" value="hoge" / >
<input type="hidden" name="seq" value="<?=$seq;?>">
/*受信側*/
for ($i = 0; $i < count($seq); $i++) { //回答を取得していく
$ans_val = ${'ans_' . $seq[$i]}; //POSTで届いた回答を可変変数にする
if (is_array($ans_val)) { //配列(チェックボックス)で来た場合はカンマ区切りにする
$ans_val = join(',', $ans_val);
}
}
関連記事
-
-
PHPで配列じゃないものに対してソート
PHP Warning: sort() expects parameter 1 ...
-
-
PHPでログファイルから指定行数表示させる
エラーログを最新分から指定行数表示させる プログラムがあって、どういった作りにな ...
-
-
UTF-16にエンコードされている文字列をUTF-8へデコード
エンコードされている文字列であまり見かけない感じのものがあった。UTF-8やSh ...
-
-
PHPで画像を上下反転させ保存する
やりたかった事は、下記の通り。 ・既にフォルダに保存されている画像を上下反転させ ...
-
-
PHPでフォームとかの数値チェック
フォームとかで届いた値が整数値で0以上かどうか 調べる際に、なるほど、と思ったソ ...
-
-
Opauthで「Please change the…」エラー
Opauthを使用中に「Notice: Please change the va ...
-
-
smart_resize_imageで縦横の比率関係なく、固定リサイズ
PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...
-
-
PukiWikiでバックアップのスケジュール化
PukiWikiでバックアップを取りたかった。調べたらディレクトリごと保存すれば ...
-
-
PHPでメモリの使用率確認
PHPでメモリの使用率を確認。ついでに処理時間も一緒に表示。 /*ヘッダに書いと ...
-
-
PHPでクエリ内容を取得する
エラーログを確認している際によく分からない動作に なっているところがあった。 ペ ...
- PREV
- PHPのLocationに変数を入れる
- NEXT
- PHPで配列かどうかを調べる