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 回答