0

这可能是不可能的,但我想知道是否可以使用变量的值输出定义的内容。

像这样:

define("SEO_HOME", "Home name");
$var="SEO_HOME";
echo $var

这将打印课程“SEO_HOME”。如何让它打印“家庭名称”(使用变量 $var)?

编辑:更正定义。

编辑:我的所有问题,我将编辑的网站使用定义来识别所有页面,例如:

define("CONTACT_PAGE","Please contact us");
define("INFO_PAGE","Some information about us");

而且我需要在这些页面上添加自定义 html 标题,该所有者将能够进行编辑。所以我想我会创建一个带有 (id, page, title) 的数据库表,其中页面将包含 CONTACT_PAGE、INFO_PAGE 等,而标题将是标题本身。

现在要为网站所有者制作一个编辑页面,我将拥有这个:

//This would be an while mysql_fetch_assoc and not a multidimentional array, but for example this will work
$titleArray=array(array("CONTACT_PAGE", "my title for contact page"),array("INFO_PAGE", "my title for info page"));
?>
<tr>
    <td>Set title for: <?php echo $titleArray[0][0];?></td> 
    <td><input type="text" name="name" value="<?php echo $titleArray[0][1];?>" /></td>
</tr>
<tr>
    <td>Set title for: <?php echo $titleArray[1][0];?></td> 
    <td><input type="text" name="name" value="<?php echo $titleArray[1][1];?>" /></td>
</tr>

这显示在第一个 td -> 为:CONTACT_PAGE 设置标题

我希望它显示 -> 设置标题:请联系我们

希望这能澄清我的疑问。

4

3 回答 3

0

你可以使用常量函数

 mixed constant ( string $name )

返回由name指示的常量的值。

如果您需要检索常量的值,但不知道其名称,则constant()很有用。即它存储在变量中或由函数返回。

此函数也适用于类常量。

<?php
define("SEO_HOME", "Home name");
$var="SEO_HOME";
echo constant($var);
于 2012-12-05T12:30:21.720 回答
0

您的代码的错误是您交换了引号..

 define(seo_home, "Home name")
        ^------------- Quotes Missing 

 $var="seo_home";
      ^---------------  There should be no quotes 

并且还倾向于通过对常量使用大写来创建更具可读性的代码,因为它们区分大小写,除非您启用 case_insensitive 选项..查看更多详细信息

例子 :

define("SEO_HOME", "Home name");
$var = SEO_HOME;
echo $var;
于 2012-12-04T18:34:49.507 回答
0

如果你这样做

$var=seo_home;

你什么时候做echo $var;会显示它,但是......你可以做echo seo_home;并且它会显示,你不需要变量。

于 2012-12-04T18:35:29.373 回答