php字符串转成可执行代码
正在php中将字符串转为可执行的代码,能够经过应用php中的“eval()”函数来完成。
eval阐明与用法
eval — 把字符串作为PHP代码执行
eval ( string $code ) : mixed
注:函数eval()言语构造是 十分风险的, 由于它容许执行恣意 PHP 代码。 它这样用是很风险的。 假如您细心确实认过,除了了应用此构造之外 别有方法, 请多加留意,没有要容许传入任何由用户 提供的、未经完好验证过的数据 。
eval参数
code:
需求被执行的字符串
代码不克不及蕴含关上/封闭 PHP tags。比方, 'echo "Hi!";' 不克不及这样传入: '<?php echo "Hi!"; ?>'。但依然能够用合适的 PHP tag 来分开、从新进入 PHP 模式。比方 'echo "In PHP mode!"; ?>In HTML mode!<?php echo "Back in PHP mode!";'。
除了此以外,传入的必需是无效的 PHP 代码。一切的语句必需以分号末端。比方 'echo "Hi!"' 会招致一个 parse error,而 'echo "Hi!";' 则会失常运转。
return 语句会立刻停止以后字符串的执行。
代码执行的作用域是挪用 eval() 处的作用域。因而,eval() 里任何的变量界说、修正,城市正在函数完结后被保存。
eval前往值
eval() 前往 NULL,除了非正在执行的代码中 return 了一个值,函数前往通报给 return 的值。 PHP 7 开端,执行的代码里假如有一个 parse error,eval() 会抛出 ParseError 异样。正在 PHP 7 以前, 假如正在执行的代码中有 parse error,eval() 前往 FALSE,之后的代码将失常执行。无奈应用 set_error_handler() 捕捉 eval() 中的解析谬误。
eval应用示例
<?php $string = 'cup'; $name = 'coffee'; $str = 'This is a $string with my $name in it.'; echo $str. "\n"; eval("\$str = \"$str\";"); echo $str. "\n"; ?>
以上例程会输入:
This is a $string with my $name in it.
This is a cup with my coffee in it.
以上就是php字符串转成可执行代码的具体内容,更多请存眷资源魔其它相干文章!
标签: php php教程 字符串 php故障解决 php使用问题
抱歉,评论功能暂时关闭!