【发布时间】:2018-05-15 01:36:30
【问题描述】:
我必须处理一个设计糟糕的数据库。为了有更小的代码足迹,我需要在 PHP 中使用动态变量命名。但是,每个变量的名称差异很大。这是我的代码示例:
<?php
$test = (object)[
'variable_1_text' => 'ONE',
'variablevv_1_another_one' => 'Two',
'variablett_1_blah' => 'III',
'variablex_1_text_lala' => 'Four',
'variable_2_text' => 'ONE',
'variablevv_2_another_one' => 'Two',
'variablett_2_blah' => 'III',
'variablex_2_text_lala' => 'Four',
'variable_3_text' => 'ONE',
'variablevv_3_another_one' => 'Two',
'variablett_3_blah' => 'III',
'variablex_3_text_lala' => 'Four',
'variable_4_text' => 'ONE',
'variablevv_4_another_one' => 'Two',
'variablett_4_blah' => 'III',
'variablex_4_text_lala' => 'Four',
];
//this doesn't work
foreach (array(1,2,3,4) as $temp_val) {
echo $test->variable_{$temp_val}_text . "<br />";
echo $test->variablevv_{$temp_val}_another_one . "<br />";
echo $test->variablett_{$temp_val}_blah . "<br />";
echo $test->variablex_{$temp_val}_text_lala . "<br />";
}
?>
这些变量很多。我只需要如何在变量名的名称之间动态地制作那些 1、2、3 和 4。这甚至可能吗?
【问题讨论】:
-
使用花括号访问此类对象属性
-
我不确定你的意思。我尝试在上面的示例代码中使用花括号,但这不起作用。也许我做错了?
标签: php dynamic dynamic-variables