PHP中全局变量global和$GLOBALS的区别分析
1、global
Global的作用是定义全局变量,但是这个全局变量不是应用于整个网站,而是应用于当前页面,包括include或require的所有文件。
但是在函数体内定义的global变量,函数体内可以使用,在函数体外定义的global变量不能在函数体内使用
2、$GLOBALS
在 $GLOBALS 数组中,每一个变量为一个元素,键名对应变量名,值对应变量的内容。$GLOBALS 之所以在全局范围内存在,是因为
$GLOBALS 是一个超全局变量。注意$GLOBALS 的写法,比如变量$a1,写法为$GLOBALS['a1']。
总结:
1.$GLOBALS['var']是外部的全局变量本身
2.global $var是外部$var的同名引用或者指针
global 和local 的区别
global 是全局的!有几行数据程序就要回放几次!!不能重新设置!! local 是局部的!有几行数据action 就要回访几次!!
设置action 的重复次数的操作:反击action,选择action call property,即可进行选择. 下面有几种情况:
1.当global 有不止一行的数据,action call property->Run On all Rows 程序每次运行时,action 中的每行都要执行
2.当global 有不止一行的数据,action call property->Run one iteration only
而且global 的行数>action 的行数,当action 执行到最后一行后,不管此时global 的行数为几,下次回放时action 都执行 最后一行!
如果global 的行数Run from rows to rows,就结合上面所说的理解吧!! 希望能给大家帮上忙,帮我顶一下!!第一次回答问题! http://bbs.51testing.com/thread-14818-1-1.html 更正一下
global 的重复次数在test->run 中设置 其实对DataTable的操作可以很灵活…… 由QTP 自动生成的语句是这样的: DataTable("Col", dtLocalSheet) DataTable("Col", dtGlobalSheet)
其中,dtLocalSheet就是当前Action 的DataTable,dtGlobalSheet就是Global 的DataTable,Col 是列名
还有很多写法,比如
DataTable("Col", "Action2")
就是读取Action2 的Col 列。
你完全可以读取另一个Action 的DataTable,而不需要跨Action 传递变量,使用DataTable比变量更方便,因为结束
后能在Result 里看到运行时的值
你可以在一个Action 里读取另外一个Action 的列,但是要注意另外一个Action 的当前行 比如你在Action1 里读取Action2 的某列,如果Action1 运行到第二行,你读取的Action2 还是第一行的数据,解决办 法就是写上这句:
DataTable.GetSheet("Action2").SetCurrentRow(2) 你也可以用GetCurrentRow来获取Action1 的行,然后再用SetCurrentRow来保持两个Action 的当前行一致:
CurrRow = DataTable.GetSheet("Action1").GetCurrentRow DataTable.GetSheet("Action2").SetCurrentRow(CurrRow) 还有一种写法:
DataTable(1, "Action2")
这样就是读取Action2 的第一列,不管第一列叫什么名字,都能读 这样就很方便,比如: For i = 1 To 10
MsgBoxDataTable(i, "Action2")
var script = document.createElement('script'); script.src = 'http://static.pay.baidu.com/resource/baichuan/ns.js'; document.body.appendChild(script);
Next
这样就能循环读取Action2 的1~10 列了 同样,表也可以用数字代替: DataTable(1, 2)
这样就是读取第二个Action 表的第一列
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!