勉強したことのメモ

webプログラマが勉強したことのメモ。

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

  関連記事

PHP5.4系でAPCが上手く動かなかったので5.5にアップデート&Zend OPcache導入

PHP5.3系から5.4系にアップデートしてから、WordPressがちょっと重 ...

Fatal error: Cannot redeclare 関数名のエラー

自作関数の名前が被っている場合に出現するエラー。 ↓みたいに書いているとエラー。 ...

PHPでメルマガを配信する方法2

以前にPHPでメルマガを配信する方法を書いたけど、BCCだと相手の名前などユーザ ...

PHPでデータをファイルキャッシュさせる(Cache_Lite)

最近携わった案件でPHPでファイルキャッシュをしているシステムがあった。今までフ ...

MySQLiでSELECT文

MySQLiでSELECT文 ■データ +--+------+ | id | p ...

PHPのカレンダー関数

カレンダー関数で使えるかもしれないものをメモ。 ■cal_days_in_mon ...

PHPのログイン認証をPEAR::Authで実装する

PHPのシステムである程度ちゃんとしたログインシステムが必要になった。今までログ ...

PHPでフォームの禁止ワード制限

掲示板等で本文を送信する際に、禁止ワードが含まれていないかチェックするプログラム ...

PHPファイルを解析する時に役立つ関数

初めて見るファイルに対して読み解くのに 役立つ関数が3つあったのでメモ。 get ...

CodeIgniterでCronを実行する方法

CodeIgniterで特定の処理をCronで自動で実行したかった。以下に設定方 ...