2014-03-24 109 views
2

我有一个简单的问题,在PHP变量中插入PHP代码

如何在PHP变量中插入PHP代码?

例子:

echo $value = " 
bla 
bla 
<?php $q = "SELECT * FROM BLA BLA"; ?> 
"; 
+6

没有为您的应用程序,它不需要把PHP代码到一个变量,你表现出的方​​式加以解决的100%的几率。 ? – DanFromGermany

+2

使用单引号 –

+1

回波$值=' BLA BLA ';像@AwladLiton提到 – Danny

回答

4

可以使用eval()

$test = <<<END 
<p> <?php 
echo time(); 
?> </p> 
END; 


ob_start(); 
eval("?>$test"); 
$result = ob_get_clean(); 

或者从w3s的其他例子做到这一点:

<?php 
$string = "beautiful"; 
$time = "winter"; 

$str = 'This is a $string $time morning!'; 
echo $str. "<br>"; 

eval("\$str = \"$str\";"); 
echo $str; 
?> 

将打印

这是一个$ string $的时间早上!

这是一个美丽的冬天的早晨!

Source

但是当你使用它,从PHP页面非常小心:

小心的eval()语言结构是非常危险的,因为它 允许任意PHP代码执行。因此不鼓励它的使用。 如果你仔细证实没有比 使用此结构没有别的选择,要特别注意不要通过 提供的数据到它没有正确验证事先的任何用户。

+0

请......不要。 –

+0

你是什么意思?不要使用它? – darkheir

+0

该手册的链接可以让你了解eval()。 [Manual on eval()](http://in3.php.net/eval) – Vagabond