我正在尝试在for循环中输出数组内容。当我使用数组的文字名称时,它可以工作。当我尝试使用分配给该名称的变量时,它会失败。我需要使用变量来允许页面根据用户的选择显示正确的内容。
保存为include的数组是以下形式的二维:
$newsArray2012 = array(
array(string_a, string_b, stringc),
array(string_a, string_b, stringc),
array(string_a, string_b, stringc), etc.,
);
for循环如下所示:
for ($row = 0; $row < 5; $row++) {
echo "<p class='portrait'><a name='".$newsArray2012[$row][1]."'></a>\n
<em>".$newsArray2012[$row][0]."</em></p>\n
<img src='/Pictures/".$newsArray2012[$row][1]."' width='72' height='80' alt='' />\n";
echo $newsArray2012[$row][2]."\n";
}
有效。
我已经分配了$ newsCurrent = newsArray2012。当我在for循环中用$ newsCurrent替换$ newsArray2012时,我没有得到任何输出。在测试中,我发现print_r($$ newsCurrent)将转储整个数组,即使这很傻,我在for循环中尝试了$$版本,但它在那里不起作用。
我哪里出错?
答案 0 :(得分:0)
好的,因为$$ newsCurrent使用print_r,但不是for循环,我认为PHP有一个问题。因为它允许在print_r中使用$$,所以我做了一个跳跃,它会接受重新分配,如下所示:
$pageBios = $$newsCurrent;
这确实奏效了。我将$ pageBios放在for循环中并取得了成功。我对它不满意因为$$格式不对 - 至少我从未见过它。因此,虽然由于截止日期我需要向前推进,但我真的想要清理它 - 所以请随时向我展示一种非愚蠢的方法。感谢。