0

インクリメント/カウント数を使用して変数を作成するループを作成しようとしています:

$names = 4;

for($it=0;$it<$names;$it++){ 
           $NAME{$it}       = $_REQUEST['NAME'.$it.''];
           $SURNAME{$it}    = $_REQUEST['SURNAME'.$it.''];
           $AGE{$it}        = $_REQUEST['AGE'.$it.''];
 }

私の問題は、$NAME0、$NAME1 などを取得する代わりに、配列 ($NAME[0]、$NAME[1] など) を取得していることです。

ループを使用して、$NAME0、$NAME1、$NAME2、$SURNAME1、$SURNAME2 $SURNAME3、$AGE1、$AGE2、$AGE3 のすべての情報を取得するにはどうすればよいでしょうか?

ありがとう :)

4

3 に答える 3

4

関連する名前の変数は必要ありません。配列の使用ははるかに簡単です。この場合、はと$NAME0同じですが、でできるよりも$NAME[0]多くのことができる点が異なります。アレイに固執し、それを使用することを学びます。車輪の再発明をしないでください。$NAME[0]$NAME0

于 2012-04-26T03:27:15.707 に答える
0

一般的に言って、これは$_REQUEST真剣な予見なしにスーパーグローバル(例えば)にとって危険です。

ただし、これは十分に活用されていないPHP関数の優れたユースケースですextract()

このような場合に使用する場合は、EXTR_PREFIX_ALLフラグを使用して追加のパラメーターを設定することを強くお勧めします。

于 2012-04-26T03:33:09.667 に答える
-1

配列の使用については他の人にも同意しますが、それが望ましくない場合は、変数にアンダースコアを追加してみてください...「完璧」ではないかもしれませんが、配列は作成されません。

$names = 4;

for($it=0;$it<$items;$it++){ 
       $NAME_{$it}       = $_REQUEST['NAME'.$it.''];
       $SURNAME_{$it}    = $_REQUEST['SURNAME'.$it.''];
       $AGE_{$it}        = $_REQUEST['AGE'.$it.''];
}
于 2012-04-26T03:29:36.493 に答える