喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 帮助

RSS 订阅当前论坛  

喜悦证交所已经关闭

上一主题 下一主题
     
标题: 什么情况下用传值变量或传址变量以及eval函数表达式的引号和反斜线的作用  
 
zyfpb
注册会员
Rank: 2
初级会员



UID 64970
精华 0
积分 146
帖子 104
金钱 146 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-6-24
状态 离线
什么情况下用传值变量或传址变量以及eval函数表达式的引号和反斜线的作用

我在学习CMS代码,现在遇到两个问题向大家请教:
1、什么情况下该用传值变量而在什么情况下必须用传址变量
2、eval函数表达式中的各个引号和反斜线到底有什么用处呢?
比如:eval("\$buyitem = \"".gettemplate("$templatetitle")."\";");
中的引号和反斜线看得我头都大了,请分别给我解释一下好吗?
2006-8-25 10:34 AM#1
查看资料  发短消息  顶部
 
zyfpb
注册会员
Rank: 2
初级会员



UID 64970
精华 0
积分 146
帖子 104
金钱 146 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-6-24
状态 离线
[推荐阅读] jianxin 竟然出现啦?
我自己顶一下
2006-8-28 09:41 AM#2
查看资料  发短消息  顶部
 
microzdh
注册会员
Rank: 2
初级会员



UID 68300
精华 0
积分 79
帖子 61
金钱 79 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2006-1-26
状态 离线
[推荐阅读] 喜悦原创到底要怎么玩?你最希望得到的奖品是什么?
eval("\$buyitem = \"".gettemplate("$templatetitle")."\";");

eval 语法:

Description
mixed eval ( string code_str )
------------------------------
<?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.

[ 本帖最后由 microzdh 于 2006-8-28 09:52 AM 编辑 ]
2006-8-28 09:51 AM#3
查看资料  Blog  发短消息  顶部
 
sanders_yao
版主
Rank: 7Rank: 7Rank: 7
or2 =333


UID 30286
精华 0
积分 11786
帖子 4970
金钱 11783 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态 离线
[推荐阅读] 问个关于Blog的白痴问题,估计很多新人不知道!
斜线在字符串中的意思是取消后面符号的原意
如\n的意思不再是字母n而是换行 \"的意思不再是字符串的开始或结束而是代表引号字符
请楼主举一反三的理解 并参照手册字符串一节:http://www.phpx.com/php/zh/language.types.string.html
eval函数的参数为字符串 意思是使用php解释器执行字符串代码
一开始可能会比较混乱 我们可以在执行eval之前先输出一下(如:使用die()函数)看看是否是我们要执行的代码




最近写的一些代码都会在以下地址发布,有兴趣的来批:
http://www.phpx.com/happy/thread-131368-1-1.html
2006-8-28 10:00 AM#4
查看资料  Blog  发短消息  顶部
 
zyfpb
注册会员
Rank: 2
初级会员



UID 64970
精华 0
积分 146
帖子 104
金钱 146 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-6-24
状态 离线
[推荐阅读] 正则表达式如何判断一个域名
谢谢microzdh 的回复,
不过PHP函数手册中关于eval函数的说明我已经看了好多次了,还是有点不太明白啊
比如上面的例子吧
"\buyitem中的引号 "  和反斜线  \  吧
引号当然就是一个引号 而反斜线应该是转义符号吧,
那后面的表达式呢
\"".gettemplate("$templatetitle")."\"
第一个反斜线和后面的第一个引号组成一个转义字符的引号吗?
第二个引号和第五个引号组成一对引号吗?
第二个反斜线和第六个引号组成一个转义字符的引号吗?
是不是应该这样理解呢?
"\buyitem=\"
".gettemplate("$templatetitle")."
";"
2006-8-28 10:39 AM#5
查看资料  发短消息  顶部
 
sanders_yao
版主
Rank: 7Rank: 7Rank: 7
or2 =333


UID 30286
精华 0
积分 11786
帖子 4970
金钱 11783 喜悦币
威望 0
人脉 3
阅读权限 100
注册 2004-7-23
来自 北京 菜户营
状态 离线
[推荐阅读] 北京phper求职
等于是先运行gettemplate函数一次
再将其返回的结果插入到eval的参数字符串中运行




最近写的一些代码都会在以下地址发布,有兴趣的来批:
http://www.phpx.com/happy/thread-131368-1-1.html
2006-8-28 11:42 AM#6
查看资料  Blog  发短消息  顶部
 
zyfpb
注册会员
Rank: 2
初级会员



UID 64970
精华 0
积分 146
帖子 104
金钱 146 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2005-6-24
状态 离线
[推荐阅读] 百度会议室奸杀案(图)
sanders_yao 说的地址我昨天看过了,可是我有点笨啊,还是不太明白
现在我就想请大家告诉我
eval("\$buyitem = \"".gettemplate("$templatetitle")."\";");
表达试中的第一个引号与第几个引号匹配,第二个引号与第几个引号匹配........
2006-8-29 08:18 AM#7
查看资料  发短消息  顶部
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.022781 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP