0

我在 Mysql 表中有一个字段,其中包含 php 变量,用于确定存储文件的目录(例如Docs/$CompID/Acc/$AccID/)。问题是当我检索值时,显示的是 php 变量名而不是值。

我尝试在值周围加上引号 -

都在 Mysql 表中 (Docs/$CompID/"Docs/".$CompID."/)

以及显示 php 变量时 ( echo"$dir")

我也试过做str_replace,把{ }变量放在周围,以便我可以在字符串中识别它:

$start=strrpos($cat['dir'],'{');
$stop=strrpos($cat['dir'],'}');
$rep=substr($cat['dir'],$start+1,$stop-1);
$dir=str_replace("{".$rep."}",$rep,$cat['dir']);

所有这些都只是显示了 php 变量名。任何帮助,将不胜感激!

4

2 回答 2

2

您可以使用eval()

$AccID = 'me';
eval("\$str = \"Acc/$AccID/\";");
echo $str;
于 2012-08-22T05:18:13.010 回答
1

如果我是正确的,您的变量将如下所示:var. 您可以$var使用$$cat["dir"]. 但是,如果您的 db 变量看起来像$var,只需使用一个简单的子字符串来删除$.

于 2012-08-22T05:16:40.560 回答