我在这里查看了一些答案,但我完全无法得到我正在寻找的东西,所以也许如果我根据我的情况询问它:
首先,让我说我对 Velocity很陌生,但我非常精通 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
or $goalObject->AAA0000->total
。(或者$goalObject.AAA0000.name
在$goalObject.AAA0000.total
速度中。)
如果我能做这样的事,我会很高兴的。但据我所知,Velocity 不允许像这样酷的东西。
拜托,有人在这里帮助我。
预先感谢您提供我可能得到的任何答案。