Использование переменной переменной в свойстве объекта в переполнении стека

Я установил несколько переменных:

$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

Однако эти строки выдают ошибки в apache error_log:

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

0

Решение

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

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

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]