Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用变量访问定义内容_Php_Variables - Fatal编程技术网

Php 使用变量访问定义内容

Php 使用变量访问定义内容,php,variables,Php,Variables,这可能是不可能的,但我想知道是否可以使用变量的值输出define的内容 像这样: define("SEO_HOME", "Home name"); $var="SEO_HOME"; echo $var 这将打印课程外的“SEO_HOME”。如何让它打印“Home name”(使用变量$var) 编辑:更正定义 编辑: 我的所有问题,我将编辑的站点使用定义来标识所有页面,例如: define("CONTACT_PAGE","Please contact us"); define("INFO_PA

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

像这样:

define("SEO_HOME", "Home name");
$var="SEO_HOME";
echo $var
这将打印课程外的“SEO_HOME”。如何让它打印“Home name”(使用变量$var)

编辑:更正定义

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

define("CONTACT_PAGE","Please contact us");
define("INFO_PAGE","Some information about us");
我需要在这些页面上添加自定义html标题,所有者可以编辑。所以我想我应该创建一个DB表,其中包含(id、page、title),其中page包含CONTACT\u page、INFO\u page等,title就是标题本身

现在,要为网站所有者创建编辑页面,我将使用以下内容:

//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>
//这将是一个while-mysql\u-fetch\u-assoc,而不是一个多维数组,但例如,这将起作用
$titleArray=数组(数组(“联系人页面”、“联系人页面的我的标题”)、数组(“信息页面”、“信息页面的我的标题”);
?>
为以下内容设置标题:

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

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

 $var="seo_home";
      ^---------------  There should be no quotes 
此外,还可以通过对常量使用大写来创建可读性更强的代码,因为除了启用不区分大小写选项外,它们都区分大小写

例如:

define("SEO_HOME", "Home name");
$var = SEO_HOME;
echo $var;
如果你这样做

$var=seo_home;
当您执行
echo$var将显示它,但是。。。你可以在家里做回声搜索将显示,您不需要变量。

您可以使用:

返回由name指示的常量值

常量()在需要检索常量值时非常有用, 但不知道它的名字。即,它存储在变量中或返回 通过一个函数

此函数也适用于类常量


remove.“$var=“seo_home”应该是$var=seo_home;想象一下$var的值来自DB,所以它是一个字符串:)我在过去的5分钟里尝试了eval,但没有运气。最后你的意思是你想把$var放在seo_home常量中,或者把$var放在$var中?我想用echo打印:“home name”“,定义中的值。我想我得到了你想要的,请看我的答案。这正是我想要的:)非常感谢
 mixed constant ( string $name )
<?php
define("SEO_HOME", "Home name");
$var="SEO_HOME";
echo constant($var);