在php中使用变量类型变量作为数组名称

时间:2012-09-14 12:09:31

标签: php arrays variables hyperlink

我正在尝试在我的网页上制作一个动态菜单,其中只会显示每个部分的一些页面。

我写的代码是:

$menulist=array();

$menulist[1]='file1%#16';

$menulist[2]='file2%#9';

$menulist[3]='file3%#19';

$menulist[4]='file4%#8';

$menulist[5]='file5%#13';

$menulist[6]='file6%#14';

$menulist[7]='file7%#10';

$menulist[8]='file8%#23';

$menulist[9]='file9%#19';

$menulist[10]='file10%#18';

$menulist[11]='file11%#12';

function actualizaciones($matriz)

{

$linea=explode("%#",$matriz);

echo '<li><a href="first_chunk_of_URL'.$linea[0].'middle_chunk_of_url'.$linea[1].'last_chunk_of_URL">'.${$linea[0]}[$linea[1]].'</li>;

}

echo '<ul>';

array_walk($menulist,'actualizaciones');

echo '</ul>';

每个$linea[0]字符串是另一个数组的名称(此代码中未显示),其中包含应与$linea[1]传递的每个键对应的每个可能链接中的文本。

我一定做错了,因为超链接工作正常,但没有显示文字。

2 个答案:

答案 0 :(得分:1)

使用下面的简单字符

echo '<li><a href="first_chunk_of_URL'.$linea[0].'middle_chunk_of_url'.$linea[1].'last_chunk_of_URL"&gt;'.${$linea[0]}[$linea[1]].'<li>';

并且代码中的问题是

.'&lt;/li&gt;;

         ^^^^^

        here is the problem it should be

.'&lt;/li&gt;';

答案 1 :(得分:0)

如果我正确地阅读了这个问题,你就会问如何在PHP中使用变量。

这可以使用双元语法 - 即$$linea[0]来完成。有关详细信息,请参阅PHP手册:http://uk.php.net/manual/en/language.variables.variable.php

但如果这就是你正在做的事情,我会说你没有编写好的代码:如果涉及变量变量,那么几乎总是有更好的方法。

如果不了解更多有关您正在尝试做的事情,就无法提供更好的帮助,但听起来您应该使用子数组而不是为所有内容分别命名变量。

希望有所帮助。