[PHP-users 7030] Re: 変数の扱い方について

shojun kimura php-users@php.gr.jp
Mon, 22 Apr 2002 05:57:23 +0900 (JST)


木村です。

> for($i = 0; $i < pg_numrows($r); $i++)
> {
> $kyoka="kyoka1_".$i;
> 
> こうしておいて、
> if($kyoka1_.$i == 1)
> これを
> if(${$kyoka} == 1)
> 
> こうするといけるはずです。

はい、そのとおり、やってみたら、
大丈夫でしたが、
if(${"kyoka1".$i} == "on")
のようにやったら、もっと簡単にできました。

> > if($kyoka1_.$i == 1)
> >    $sql = "update taikimsg set kyokamsg1 = 1 where
> userid
> > = '".$rec['userid']."'";
> >  pg_exec($db, $sql);
> > }
> 
> ここの$kyoka1_
> という名前の変数にはどういう値が入っているんですか?
> 
何も入ってませんでした。

> $kyoka1_.$1と書いても、"kyoka1_"という文字列と$iの値を
つなげた文字列
> からなる変数名だなんて判断はしてくれません。
> $kyoka1_が変数だと判断します。

そうですね。^^

> 動的に作成するフォームの名前を
> kyoka[$i]としてfor文をまわします。
> そうすれば、
> $kyoka[0]
> $kyoka[1]
>>>> と言う風に作成できます。
> 
> もし、1_1、2_1・・・のようにする必要があれば、
> 
> $iの変わりに、
> kyoka[1_$i]とすればよいのではないかと。。。
> (両方変数にするとか・・・<$i_$j)
> 
> > if($kyoka1_.$i == 1)
> 
> 判定するときは、if($kyoka[$i] == 1)
> とすれば正しく判定されるはずです。
> 

これは、私もできると思って、やってみましたが、
なぜか、できませんでした。

返事するのが、かなり遅くなりましたが、
なんとか、解決して、可変変数の勉強もできて、
よかったです。
みなさん、ありがとうございました。
が、データベース関連でまた、理解できないことがあるので、
別のスレを立て、質問しますので・・・また、
よろしくお願いします。^^

__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/