Eval()PHP構造
來源:教育資源網(wǎng)
?
發(fā)布時間:2020-11-30 08:00:50
?
點擊:2138
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()構造的使用帶來安全風險。
文學小常識