在对象 属性 in PHP 中使用可变变量

Using a variable variable in an object property in 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

但是这些行在 apache 的 error_log:

中抛出错误
PHP Fatal error:  Cannot access empty property in script.php

这行得通,您有双 $$,但在本例中不需要。

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

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