Eval()PHP構(gòu)造

PHPeval()構(gòu)造用于將輸入字符串評(píng)估為PHP,然后對(duì)其進(jìn)行處理。Eval()不是一個(gè)函數(shù),但它的工作原理就像一個(gè)函數(shù),它輸出除了將其作為文本輸出之外的所有內(nèi)容,它將其輸出為要執(zhí)行的PHP代碼。eval()構(gòu)造的一個(gè)用途是將代碼存儲(chǔ)在數(shù)據(jù)庫(kù)中以便稍后執(zhí)行。

Eval()語言構(gòu)造的示例

以下是為eval()語言構(gòu)造編碼的簡(jiǎn)單示例。

 
";

eval("\$a=\"$a \";");

打印$a。"

";

?>

這個(gè)代碼示例在第一次使用print語句調(diào)用時(shí)輸出我的朋友是$name和$name2,在運(yùn)行eval()后第二次調(diào)用時(shí)輸出我的朋友是Joe和Jim

Eval()

的要求和特征
  • 傳遞的代碼可以'
  • 傳遞的代碼必須是有效的PHP。
  • 所有語句必須以分號(hào)終止。
  • areturn語句終止代碼評(píng)估。
  • eval()中定義或更改的任何變量在終止后仍然存在。
  • 評(píng)估代碼中發(fā)生致命錯(cuò)誤,腳本退出。
  • 因?yàn)閑val()是一種語言構(gòu)造而不是函數(shù),所以它可以't用于高階函數(shù)。

使用Eval()

的危險(xiǎn)

PHP手冊(cè)不鼓勵(lì)使用eval()構(gòu)造,強(qiáng)調(diào)它的使用是"非常危險(xiǎn)"因?yàn)榭梢詧?zhí)行任意的PHP代碼。除非不可能,否則指示用戶使用eval()以外的任何其他選項(xiàng)。PHP-eval()構(gòu)造的使用帶來安全風(fēng)險(xiǎn)。

教育_1

文學(xué)小常識(shí)