我已经通过了几个答案,看着这里,我只是很不能得到什么我要找的,所以也许如果我问它具体到我的情况:动态变量
首先,让我们我说我是非常新的速度,但我非常精通PHP。我知道我们在这里比较苹果和橙子,但只是忍耐与我 - 只是通过这个例子。
想象一下:我在数据库中新鲜的对象数组中有一些数据。在每个记录中是一个唯一的标识符。我想在对象中使用这个唯一的标识符作为变量名称。
在PHP中,这是愚蠢的容易:
<?php
$goalObject = new stdObject();
foreach ($row as $data)
{
$identifier = $data->unique_id;
$goalObject->$$identifier = new stdObject();
$goalObject->$$identifier->name = $data->name;
$goalObject->$$identifier->total = $data->num_apples + $data->num_oranges;
}
通告identifier
双重印记($$)。
现在,值得注意的是,unique_id确实以字母开头,所以它应该很好用作变量名称。一个unique_id例子就像AAA0000或类似的东西。没有空格,没有连字符,也没有任何标点符号。
所以,我的目标对象是$goalObject->AAA0000->name
或$goalObject->AAA0000->total
。 (或者Velocity中的$goalObject.AAA0000.name
和$goalObject.AAA0000.total
)。
如果我可以做那样的事情,我会非常高兴。但是从我所知道的来看,Velocity不允许任何事情如此酷。
请有人帮我在这里。
非常感谢您提供任何我可能得到的答案。
这看起来像一个最近的帖子的副本:http://stackoverflow.com/questions/17084542/construct-variable-names-dynamically-in-velocity – Edd