2014-03-24 114 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