【发布时间】:2009-08-17 18:20:45
【问题描述】:
我正在内容管理系统中从模板标签创建一系列数组,并将这些数组的标题输出为带有变量标记的数组:
<Loop>
$<GeneratedArrayName1> = array( "foo" => "bar" );
$<GeneratedArrayName2> = array( "foo" => "bar" );
</Loop>
我还生成了另一个可能的 GeneratedArrayNames 数组并按计数对其进行排序。我正在遍历这个数组以获取 GeneratedArrayNames,因此我可以有选择地显示它们。排序后,我只想拉出并显示我使用 GeneratedArrayNames 拥有的众多数组中的几个。我通过将指针定位在主数组的顶部并获取名称来做到这一点:
reset($ArrayNames);
$firstArray = current($ArrayNames); //outputs GeneratedArrayName1
然后我通过获取Variable变量来拉取GeneratedArrayName,这给了我一个错误:
print_r(${$firstArray}); // outputs Undefined variable: GeneratedArrayName1
但是当我硬编码时,我得到了正确的数据:
print_r($GeneratedArrayName1); // outputs the array
我哪里错了?
编辑
我通过这个循环得到$firstArray:
$count = 0;
foreach($ArrayNames as $ArrayCount => $ArrayName) {
$count++;
echo "$ArrayName" . ' - ' . "$ArrayCount" . '<br>';
if ($count >= 3) {
break;
}
} //from here I proceed to reset($ArrayNames)
【问题讨论】: