Eval()PHP構造

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

Eval()語言構造的示例

以下是為eval()語言構造編碼的簡單示例。

 
";

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

打印$a。"

";

?>

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

Eval()

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

使用Eval()

的危險

PHP手冊不鼓勵使用eval()構造,強調(diào)它的使用是"非常危險"因為可以執(zhí)行任意的PHP代碼。除非不可能,否則指示用戶使用eval()以外的任何其他選項。PHP-eval()構造的使用帶來安全風險。

教育_1

文學小常識