&引用;“双”字;PHP中的求值
大家早上好 我的MySQL查询返回一个PHP变量名,我希望在输出时对其进行“双重”计算。我最好是以身作则 在静态资源页面上,我有:&引用;“双”字;PHP中的求值,php,variables,evaluation,Php,Variables,Evaluation,大家早上好 我的MySQL查询返回一个PHP变量名,我希望在输出时对其进行“双重”计算。我最好是以身作则 在静态资源页面上,我有: $page1 = "test1.php"; $page2 = "test2.php"; 我的MySQL表tbl_pages在fld_pagename下包含两个条目:$page1和$page2。这样,我想我只定义了$page1和$page2一次 现在,在我正在处理的页面上,有一个查询返回页面名称: $query = mysql_query("SELECT fld_p
$page1 = "test1.php";
$page2 = "test2.php";
我的MySQL表tbl_pages在fld_pagename下包含两个条目:$page1和$page2。这样,我想我只定义了$page1和$page2一次
现在,在我正在处理的页面上,有一个查询返回页面名称:
$query = mysql_query("SELECT fld_pagename FROM tbl_pages WHERE fld_show = 1 ORDER BY fld_ref");
while($row = mysql_fetch_array($query)){
$nameofpage = $row['fld_pagename'];
echo "$nameofpage",'<br />';
}
$query=mysql\u query(“从tbl\u页面中选择fld\u页面名,其中fld\u show=1 ORDER BY fld\u ref”);
while($row=mysql\u fetch\u array($query)){
$nameofpage=$row['fld_pagename'];
回显“$nameofpage”,“
”;
}
但是,变量周围的双引号仅将变量计算到一个级别。其产出是:
$page1<br />$page2<br />
$page1
$page2
但我希望在输出之前对这些变量进行评估:
test1.php<br />test2.php<br />
test1.php
test2.php
任何想法都非常感谢 如果只存储变量名而不存储$,则可以使用PHP的变量特性变量
echo $$nameofpage,'<br />';
echo$$nameofpage,
;
可以从存储的输入中删除$
$nameofpage=substr( $nameofpage, 1 );
echo $$nameofpage,'<br />';
$nameofpage=substr($nameofpage,1);
echo$$nameofpage,“
”;
如果您在对所引用的页面进行评估之后,那么这将起作用:
$query = mysql_query("SELECT fld_pagename FROM tbl_pages WHERE fld_show = 1 ORDER BY fld_ref");
while($row = mysql_fetch_array($query)){
$nameofpage = $row['fld_pagename'];
include($nameofpage);
echo '<br />';
}
$query=mysql\u query(“从tbl\u页面中选择fld\u页面名,其中fld\u show=1 ORDER BY fld\u ref”);
while($row=mysql\u fetch\u array($query)){
$nameofpage=$row['fld_pagename'];
包括($nameofpage);
回声“
”;
}
如果我理解正确,您可以使用此PHP功能(示例):
或者,为了使其与您的系统兼容
$nameofpage=substr($nameofpage,1); // remove dollar
echo $$nameofpage.'<br/>';
$nameofpage=substr($nameofpage,1);//除去美元
echo$$nameofpage.“
”;
看来您的数据库设计是错误的。在数据库中存储PHP变量名没有单一原因。
存储页面名称本身,您就会没事了
echo$nameofpage.
代码>?也许他在尝试创建某种模板系统。。。这种笼统的论点根本没有建设性。@Christian我有足够的经验自己来判断。嗯,我有足够的经验来判断那些在最佳实践与否之间划清界限的网站。我在最初的帖子中没有说,因为我不想说得太长:这是一个基于MySQL数据库的简单模板网站。我在一张参考资料表中列出了数据库中的某些变量。还有其他方法可以做到这一点。我选择这种方式是因为它适用于这个网站。没有“正确的方式”这样的东西,但可能有“更好的方式”。谢谢,但这实际上带来了整个页面,而不是名称。就是这样-谢谢。我尝试了变量,但忘记删除前面的$Welcome,总是很乐意帮助。谢谢Shakti。就像克里斯蒂安的评论一样
$nameofpage=substr($nameofpage,1); // remove dollar
echo $$nameofpage.'<br/>';