Две переменные переменные в одной переменной - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть for -кольцо ($ x ++) в другом for -петле ($ i ++), и я хочу, чтобы и $ x, и $ i были частью переменной переменной:

${'name'.$x.'place'.$i.''} = ...;

Так я получаю:

  • $ name1place1
  • $ name1place2
  • $ name1place3
  • $ name2place1
  • $name2place2
  • $ name3place1 и т. д. и т. д.

Однако установка переменных указанным выше способом НЕ работает для меня (т. е. с одинарными кавычками и two variableпеременные).Я получаю сообщение об ошибке " Примечание: неопределенная переменная [...]".

Следующие работы:

${"name$x"} = ...;

(с использованием двойных кавычек и просто одна переменная переменная.)

Как я могу установить переменные переменные с $ x и $ i в имени переменной?Спасибо!

1 Ответ

0 голосов
/ 07 декабря 2018

Вы можете сделать это, используя фигурные скобки в присваивании имени переменной, чтобы отделить $x от place:

$x = 4;
$i = 5;
${"name{$x}place{$i}"} = "test";
echo $name4place5;

Вывод:

test

Однако это будетдействительно имеет смысл использовать массив:

$name[$x][$i] = "test2";
echo $name[$x][$i];

Демонстрация на 3v4l.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...