0

同じ名前のSESSION変数とPOST変数から変数を設定して、一連の変数を定義しようとしています。(つまり、$ _SESSION['a']を$aに転送したい。

変数名(a、b、c)の配列を使用して、foreachループを使用してそのようなセットを定義しようとしていますが、それらを定義しようとすると、ループ内で$$variableのような構文になります。うまくいかない。$変数を一重引用符と二重引用符で囲んでみましたが、喜びはありません

$data = array (
        'a',
        'b',
        'c',
              );

foreach($data as $variable)
 {
   if (isset($_POST['$variable'])) $_SESSION['$variable']=$_POST['$variable'];
   if (isset($_SESSION['$variable'])) {$$variable=$_SESSION['$variable'];} else {$$variable="";}
 }

どんな助けでも大歓迎です。

私は次のようなものの多くのインスタンスで終わることを試みています:

 if (isset($_POST['$a'])) $_SESSION['$a']=$_POST['$a'];
 if (isset($_SESSION['$a'])) {$a=$_SESSION['$a'];} else {$a="";}
4

1 に答える 1

1

一重引用符は$variableが評価されるのを防ぎ、それらを削除するだけです。

$data = array (
        'a',
        'b',
        'c',
              );

foreach($data as $variable)
 {
   if (isset($_POST[$variable])) $_SESSION[$variable]=$_POST[$variable];
   if (isset($_SESSION[$variable])) {$$variable=$_SESSION[$variable];} else {$$variable="";}
 }
于 2012-11-08T01:12:41.140 に答える