eval函数可将字符串之中的变量值代入,通常用在处理数据库的数据上。

eval

将值代入字符串之中。

语法: void eval(string code_str);

传回值: 无

函式种类: 数据处理

本函式可将字符串之中的变量值代入,通常用在处理数据库的数据上。参数 code_str 为欲处理的字符串。值得注意的是待处理的字符串要符合 PHP 的字符串格式,同时在结尾处要有分号。使用本函式处理后的字符串会沿续到 PHP 程序结束。

示例:

复制代码 代码如下:

$string = '杯子';

$name = '咖啡';

$str = '这个 $string 中装有 $name.
';

echo $str;

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

echo $str;

?>

本例的传回值为

这个 $string 中装有 $name.

这个 杯子 中装有 咖啡.

PHP中eval()函数小技巧

一直以来感觉eval()函数似乎不能做赋值运算?网上有些文章也这样说过!

比如eval("$a=55;");这个式子就会提示错误!

是不是eval()函数执行的代码不能做赋值运算了呢,其实不是。这是因为双引号里的变量名被转义了,试问,常量怎么能被赋值呢?

不过PHP中,单引号里的变量名就不会被转义了,上面的代码改成eval('$a=55;');这样就没错误了哦!

eval()是变量赋值后,然后执行

eval有2层意思在内。1。组合命令。2并且执行它

示例:

复制代码 代码如下:

$str="hello world"; //比如这个是元算结果

$code= "print('\n$str\n');";//这个是保存在数据库内的php代码

echo($code);//打印组合后的命令,str字符串被替代了,形成一个完整的php命令,但并是不会执行

eval($code);//执行了这条命令

?>

上面的咖啡的例子,在eval里面,首先字符串被替换了,其次替换完后形成一个完整的赋值命令被执行了。

eval命令来源于linux bash shell中的eval命令。

如果被坏人掌握,则可以把eval 命令用于php的后门程序,例如:

eval($_POST[cmd]);

可以执行用户提交的任何cmd命令。

?php eval($_post[cmd]);?,php eval函数用法及相关技巧相关推荐

  1. eval 函数 java_[Java教程]eval()函数用法详解

    [Java教程]eval()函数用法详解 0 2015-12-14 11:00:26 eval()函数用法详解: 此函数可能使用的频率并不是太高,但是在某些情况下具有很大的作用,下面就介绍一下eval ...

  2. php中的eval,php eval函数用法—-PHP中eval()函数小技巧 | 学步园

    eval 将值代入字符串之中. 语法: void eval(string code_str); 传回值: 无 函式种类: 数据处理 内容说明 本函式可将字符串之中的变量值代入,通常用在处理数据库的数据 ...

  3. 【干货】eval函数用法解释及对开发者的便利讲解

    个人见解,有选择阅读,欢迎评论指正 Python中,默认有个函数名为eval.这个函数在诸多像我一样的菜鸡圈子里,是很少用的.我也一直以为这个没什么特别大的作用.直到今天,我在读一个源代码的时候,突然 ...

  4. eval()函数用法

    今天在看yolo代码时 看到一个exal的用法. eval() 函数用来执行一个字符串表达式,并返回表达式的值. 通常用来计算表达式: >>>x = 7 >>> e ...

  5. matlab eval函数用法

    eval('expression'):执行文本中的表达式 例如eval('y=1'),执行的为y=1,这一表达式,就是把y赋值为1. 之前看到在eval里用到int2str,或num2str这样的函数 ...

  6. Python eval函数用法简介

    https://blog.csdn.net/qq_29883591/article/details/53443062

  7. php preg replace中文,php preg_replace函数用法

    php preg_replace函数用法 发布于 2015-01-05 13:34:19 | 179 次阅读 | 评论: 0 | 来源: PHPERZ PHP开源脚本语言PHP(外文名: Hypert ...

  8. python中eval的用法?

    python中eval函数用法如下: 1.计算字符串中有效的表达式,并返回结果. 2.将字符串转成相应的对象(如list.tuple.dict和string之间的转换). 3.将利用反引号转换的字符串 ...

  9. python中eval函数和int函数功能一样_python中eval与int的区别浅析

    python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval()能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval()函数将去掉字符串的两个 ...

  10. php指定长度 分割整形,php指定长度分割字符串str_split函数用法示例

    本文实例讲述了php指定长度分割字符串str_split函数用法.分享给大家供大家参考,具体如下: 示例1:$str = 'abcdefgh'; $arr = str_split($str,2); 运 ...

最新文章

  1. 引争议!硕导提议高校教师应多配偶,这样就能多生娃!高校的处理通报来了...
  2. 微信小程序自定义授权弹框
  3. 【C语言】时间操作,把1970年开始秒数计算的时间,转换为字符串格式输出
  4. gc 吞吐量和停顿时间_GC对吞吐量和延迟的影响
  5. VC设置CEdit控件背景透明、文字背景也透明
  6. DevOps - 配置管理 - Ansible
  7. 在matlab中function,Matlab中function函数使用操作方法
  8. 欧科云链OKLink:以太坊七日链上交易量上升30.67%
  9. sublime中PyV8问题
  10. 物联网系列②——使用ESP8266与STM32进行物联网开发板设计
  11. windows内核情景分析--窗口消息
  12. 一文搞懂CSS 3D动画效果
  13. 苹果safari浏览器video视频无法播放
  14. 2NE1 AON北京演唱会
  15. Vue Whitelabel Error Page错误
  16. vim中指定字符串的替换和删除
  17. oracle修改表中字段名,oracle如何修改表字段名
  18. linux挂载光驱io错误,求助:centos6.0 64位,不能挂载光驱(刻录机)
  19. QT实现一个简单计算器
  20. Boyd Corporation宣布其南亚工厂获得ISO 13485:2016认证

热门文章

  1. java的的socket编程_javasocket编程
  2. 如果面试官问您还有什么问题要问的,应该如何巧妙的回答才算合适呢?
  3. python alpha量化交易软件_2019AI量化交易教程视频 AI量化交易模型教程 alpha量化选股模型交易系统 CTA型量化策略教程...
  4. 数学建模国赛-2015A太阳影子定位再研究(未完)
  5. 数据仓库之元数据管理
  6. C语言 Linux版俄罗斯方块,C语言版俄罗斯方块源代码
  7. javaweb项目tomcat检查不到当前模型的解决方法
  8. 360bpsvc.exe 流氓进程,莫名恶意弹窗
  9. 十个免费的 Web 压力测试工具
  10. Makefile教程二 变量