eval(PHP 4, PHP 5)
eval — 把字符串作为PHP代码执行
说明
$code_str
)把字符串 code_str
作为PHP代码执行。 除了其他,该函数能够执行储存于数据库文本字段内的PHP代码。
使用 eval() 时需注意几个因素:注意字符必须是有效的PHP代码,包括结尾的分号,以不至于解释器在 eval() 之后退出。并且正确地转义 code_str
中的东西。你可以使用一个PHP闭合标签来混合输出HTML和PHP代码。
同时需注意eval中的变量会被保留在之后的主脚本中。
参数
code_str
-
需要被执行的字符串
code_str
不能包含 PHP Opening tags。return 语句会立即中止当前字符串的执行。
返回值
eval() 返回
NULL
,除非在执行的代码中 return 了一个值,函数返回该值。 如果在执行的代码中有一个解析错误, eval() 返回FALSE
,之后的代码将正常执行。无法使用 set_error_handler() 捕获 eval() 中的解析错误。范例
Example #1 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.注释
Note: 因为是一个语言构造器而不是一个函数,不能被 可变函数 调用。
Note:
如果在执行的代码中产生了一个致命的错误(fatal error),整个脚本会退出。
参见
- call_user_func() - Call the callback given by the first parameter
eval(PHP 4, PHP 5)的更多相关文章
- JSON.parse 与 eval() 对于解析json的问题
1.eval()与JSOn.parse的不同 eval() var c = 1; //全局变量 var jsonstr1 = '{"name":"a",&quo ...
- JSON.parse与eval的区别
JSON.parse与eval和能将一个字符串解析成一个JSON对象,但还是有挺大区别. 测试代码 var A = "{ a: 1 , b : 'hello' }"; var B ...
- JS eval()函数的一些见解
一.eval是基本使用规则 1 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 2 eval(string) 3 string必需.要计算的字符串,其中含有要计算的 ...
- Javascript动态执行JS(new Function与eval比较)
new Function与eval可以动态执行JS,只要把拼接好的JS方法,然后以字符串的形式传入到这两个函数,可以执行,其中new Function用在模板引擎比较多. 用 Function 类直接 ...
- Python:eval的妙用和滥用
时间 2014-07-08 13:05:24 CSDN博客 原文 http://blog.csdn.net/zhanh1218/article/details/37562167 主题 Python ...
- JSON中eval与parse的区别
json的的解析方法 (非原创) json的解析方法共有两种:eval_r() 和 JSON.parse(),使用方法如下: var jsonData = '{"data1":&q ...
- eval解析JSON中的注意点
在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式: 1.一种为使用eval()函数. 2. 使用Function对象来进行返回解析. 使用eval函数来解析,并且使用jquery ...
- jQuery Ajax请求(关于火狐下SyntaxError: missing ] after element list ajax返回json,var json = eval("("+data+")"); 报错)
$.ajax({ contentType: "application/x-www-form-urlencoded;charset=UTF-8" , type: &quo ...
- 被嫌弃的eval和with
× 目录 [1]eval [2]with 前面的话 eval和with经常被嫌弃,好像它们的存在就是错误.在CSS中,表格被嫌弃,在网页中只是用表格来展示数据,而不是做布局,都可能被斥为不规范,矫枉过 ...
- Global eval. What are the options?
David Flanagan最近写了一个关于全局eval的简单表达式,可以用一行式子表示: var geval = this.execScript || eval; 尽管看起来很简短,但是跨浏览器的兼 ...
随机推荐
- centos7下git的使用和配置
1.下载git,使用命令: yum install git 2.配置git: git config --global user.name "Your Name" git confi ...
- 在Extjs中动态增加控件
Ext.onReady(function () { Ext.QuickTips.init(); Ext.form.Field.prototype.msgTarget = 'side'; var aut ...
- 【RF库Collections测试】Create Dictionary
Name:Create DictionarySource:Collections <test library>Arguments:[ *key_value_pairs ]
- 解决Bootstrap布局注册表单input标签前增加必填项*提示与input框不在同一行问题
注册表单部分代码如下: <form id="registForm" class="form-horizontal" action="${page ...
- 说说M451例程讲解之LED
/**************************************************************************//** * @file main.c * @ve ...
- Path类和File类的应用
今天是我学习C#基础的第13天,可以说马上就要结束这个基础课程,感觉学习的理论性的我不能说全部掌握了,我只想说在思路上面的语法以及用法我应该基本掌握了,感觉效果不错,不得不说,要想在一种语言上面有大的 ...
- 为什么说在js当中所有类的父类是Object类
代码如下所示: function Parent(add,net,no,teacher) { this.add = add; this.net = net; this.no = no; this.tea ...
- EL表达式各种函数使用大全
引入<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %> ...
- 解决wamp、vertrigo等集成环境安装后apache不能启动的问题
如果不是端口的问题,通常就是由于缺少vc库文件的支持,把vc2005.vc2008.vc2010抖安装一遍就呢过解决问题
- php面向对象的简单总结 $this $parent self
面向对象涉及到的比较多,大概总结整理一下php的属性.对象,以及访问方式$this $parent self 的使用场景. 1. PHP类属性定义和访问方式: 1 <?php 2 clas ...