在对象 属性 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']);
我设置了几个变量:
$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']);