2015-03-24 2 views
0

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

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

Вместо того

$MAX_5A = $foo_row['MAX_5A']; 

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

ответ

0

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

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

$var = 'foo_row'; 
     //^ dollar sign removed 
$MAX_5A = ${$var}["MAX_5A"]; 
+0

Duh :-) Удивительно, как иногда я настолько сосредоточен на менее знакомом методе (в данном случае Variable Variables), что я просто предполагаю, что мой код выключен ;-) –

0
$var = 'foo'; 
$bar = 'var'; 
echo $$bar; // foo 

логика: Переменная переменная принимает значение переменной и рассматривает его как имя переменной.

+0

Я знал это ;-) Как @ Rizier123 указал, что моя ошибка была связана с тем, как я декларировал var ;-) –

Смежные вопросы