Синтаксис имени динамического ключа в операторе выборки

0

Я пытаюсь изменить имя key динамически, основываясь на том, какие строки извлекаются, но мой синтаксис, кажется, немного не включен в запрос. После перемещения котировок больше времени, чем я хочу признать, я, наконец, решил, что пришло время обратиться за помощью ;-)

$var = '$foo_row';
$MAX_5A = ${$var . '["MAX_5A"]'};

Вместо

$MAX_5A = $foo_row['MAX_5A'];

Бонусные баллы, если кто-то хочет объяснить мне логику правильного синтаксиса :-)

Теги:
dynamic
var

2 ответа

0
Лучший ответ

Это должно сработать для вас:

(Просто используйте переменные переменные с фигурными цитатами, чтобы убедиться, что PHP не считает это: ${$var["MAX_5A"]}. Также обратите внимание, что я удалил знак доллара в строке)

$var = 'foo_row';
      //^ dollar sign removed
$MAX_5A = ${$var}["MAX_5A"];
  • 0
    Дух :-) Удивительно, как иногда я так фокусируюсь на менее знакомом методе (в данном случае Variables), что я просто предполагаю, что мой код выключен ;-)
0
$var = 'foo';
$bar = 'var';
echo $$bar; // foo

Логика: переменная-переменная принимает значение переменной и рассматривает это как имя переменной.

  • 0
    Я знал это ;-) Как указывал @ Rizier123, моя ошибка была в том, как я объявлял переменную ;-)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню