[PHP-users 33920] Re: ループ内での動的 変数名の変更

岡本 基 okamoto @ airnet.jp
2008年 7月 30日 (水) 16:56:01 JST


岡本です。

こうしたいという事ですか?

$var		= "qno".$i;
$$var[]	= $this->_form->createElement('radio', NULL, NULL, NULL, "{$j}");

もし的外れだったらごめんなさい。

これで
$qno1、$qno2、$qno3
と言うように変数ができあがりますが。

と言うかご自分で同じ事かいてますよね。
${'qno'.$i}
これって
$var		= "qno".$i;
$$var
これと同じ意味です。


On Wed, 30 Jul 2008 16:43:46 +0900
"h.t" <x22t33c81 @ hotmail.com> wrote:

> 立川と申します。
> 
> いろいろと検索してみたのですが、解決策が見つからないのでご質問させていただきます。
> 
> QuickFormのcreateElementでラジオボタンを作成しているのですが、
> 
> ラジオボタンをループで作成してaddGroupこの処理をまたループさせるような処理です。 
> 
> 
> その際に変数名を動的にかえる処理をしたいのですがどなたか
> わかる方がいればご教授いただけませんか。
> 
> for ($i = 0; $i < 5; $i++) {
> 
>     for ($j = 0; $j <=5; $j++) {
> 
> この変数 => $qno{$i}[] = $this->_form->createElement('radio', NULL, NULL, 
> NULL, "{$j}");
> 
>     $this->_form->addGroup(${'qno'.$i}, "q{$i}", "選択肢{$i}");
> 
>     }
>  }
> 
> この部分の変数 $qno に ループの変数 $i を組み合わせたものを作りたいのですが、
> なので、意味的には、$qno1、$qno2、$qno3......という変数になっていってほしいのですが
> 
> addGroupのところにあるような書き方も試したのですが、だめでした。
> 
> いろいろと書き方を試したのですが、なかなかうまくいかないのでわかる方がいれば
> よろしくお願いいたします。
> 
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3




PHP-users メーリングリストの案内