PHP变量和会话问题

时间:2011-08-02 17:51:58

标签: php session variables

我正在努力完成这项工作,

$m1 = $_SESSION[m1];
.....

使用以下for循环,

for ($i = 1; $i < 9; $i++) {
$m . $i = $_SESSION['m' . $i];
}

我在这里做错了什么?

感谢。

4 个答案:

答案 0 :(得分:3)

您的$m . $i无效:您应该使用,而不是${'m' . $i}

基本上:

  • 首先,构建变量的名称:'m' . $i
  • 然后,您才会尝试访问具有此名称的变量:${ 'm' . $i }


您还可以使用以下语法:

$variableName = 'm' . $i;
$$variableName = 'your-value-here';


当然,还有PHP手册中的参考:Variable variables

答案 1 :(得分:0)

尝试

for ($i = 1; $i < 9; $i++) {
    ${'m' . $i} = $_SESSION['m' . $i];
}

$m. $i是2个变量($m$i)的值的连续值,不能用作赋值变量。

Anyway, Why you don't use an array?

答案 2 :(得分:0)

部分$m . $i是问题所在。有其他方法可以做到这一点(${'m' . $i}),但不建议这样做。

你想如何使用它?是否可以使用数组执行此操作?因此,$m[$i]以获得$m[1]

答案 3 :(得分:0)

此外 - 这有点偏离主题 - 养成写作的习惯

$ _ SESSION ['m1']

而不是

$ _ SESSION [M1]

如果不这样做,有一天你可能会遇到一个奇怪的错误。