2015-09-09 3 views
0

Я установил несколько переменных:Использование переменной переменной в свойстве объекта в PHP

$field = "XYZ"; 
$block_hi = $field."_hi"; 
$block_lo = $field."_lo"; 

Тогда у меня есть объект со свойствами, которые имеют имя моих вышеуказанных переменных:

$obj->XYZ_hi['val'] = "value1"; 
$obj->XYZ_lo['val'] = "value2"; 

я думал, что я мог бы использовать переменные переменные PHP, чтобы ссылаться на свойства:

print($obj->${$block_hi}['val']); 
print($obj->${$block_lo}['val']); 

Я ожидал получить:

value1 
value2 

Однако эти строки бросать ошибки в error_log Апача:

PHP Fatal error: Cannot access empty property in script.php 
+1

$ {$ block_hi он должен быть '$ узел -> {$ block_hi} [ 'Вал']' –

+0

Что такое '$ node'? – Zsw

ответ

2

Это будет работать, вы имели двойной $$, которые не нужны в данном случае.

$field = "XYZ"; 
$block_hi = $field."_hi"; 
$block_lo = $field."_lo"; 

print($node->{$block_hi}['val']); 
print($node->{$block_lo}['val']); 
Смежные вопросы