Я пытаюсь это сделать,
$m1 = $_SESSION[m1]; .....
, используя следующее для цикла,
for ($i = 1; $i < 9; $i++) { $m . $i = $_SESSION['m' . $i]; }
что я здесь не так делаю?
Спасибо.
Ваш $m . $i недействителен: вместо него следует использовать: ${'m' . $i}
$m . $i
${'m' . $i}
В основном:
'm' . $i
${ 'm' . $i }
Вы также можете использовать следующий синтаксис:
$variableName = 'm' . $i; $$variableName = 'your-value-here';
И, конечно же, ссылка в руководстве по PHP: Переменные переменные .
Более того - и это немного не в тему - сделайте привычкой писать
$ _ SESSION ['m1']
вместо
$ _ SESSION [m1]
Однажды вы можете столкнуться со странной ошибкой, если вы этого не сделаете.
Часть $m . $i является проблемой.Есть способы сделать это, как предлагают другие ответы (${'m' . $i}), но это не рекомендуется.
Как вы хотите использовать это?Возможно ли сделать это с массивом?Таким образом, $m[$i] для того, чтобы получить $m[1] и т. Д.
$m[$i]
$m[1]
попробуй
for ($i = 1; $i < 9; $i++) { ${'m' . $i} = $_SESSION['m' . $i]; }
$m. $i является конкатенацией значений 2 переменных ($m и $i) и не может использоваться в качестве переменной для назначения.
$m. $i
$m
$i
Anyway, Why you don't use an array?