Eval()PHP构造

PHPeval()构造用于将输入字符串评估为PHP,然后对其进行处理。Eval()不是一个函数,但它的工作原理就像一个函数,它输出除了将其作为文本输出之外的所有内容,它将其输出为要执行的PHP代码。eval()构造的一个用途是将代码存储在数据库中以便稍后执行。

Eval()语言构造的示例

以下是为eval()语言构造编码的简单示例。

 
";

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

打印$a。"

";

?>

这个代码示例在**次使用print语句调用时输出我的朋友是$name和$name2,在运行eval()后第二次调用时输出我的朋友是Joe和Jim

Eval()

的要求和特征
  • 传递的代码可以'
  • 传递的代码必须是有效的PHP。
  • 所有语句必须以分号终止。
  • areturn语句终止代码评估。
  • eval()中定义或更改的任何变量在终止后仍然存在。
  • 评估代码中发生致命错误,脚本退出。
  • 因为eval()是一种语言构造而不是函数,所以它可以't用于高阶函数。

使用Eval()

的危险

PHP手册不鼓励使用eval()构造,强调它的使用是"非常危险"因为可以执行任意的PHP代码。除非不可能,否则指示用户使用eval()以外的任何其他选项。PHP-eval()构造的使用带来安全风险。

教育_1

文学小常识