作用域和数组研讨.docxVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
作用域和数组研讨

昨日回顾 PHP的执行过程 源代码-机器可执行的指令-执行 编译过程:词法解析、语法解析 结果是可执行的文件 执行:可执行文件的执行本质就是对内存的操作 根据程序语言中不同的关键,有不操作, 变量(全局变量):在编译不会对内存有影响 function:在编译的时候会对内存有影响,在执行时首先查检是否有形参,如果有,看有没有默认值。再看实际调用的语句,有没有传递实参。 在栈开辟一个专属于函数的内存空间。 会在函数专属的内存开辟一个空间,存储形参名,要在数据段的全局区开辟空间存储数据,再将存储数据的空间地地,传递给栈区的形参。 静态变量: 编译时就会对内存有影响:在数据段的静态区存储数据静态变量的数据,静态变量指向函数。 执行时,会在栈区中函数的专属空间开辟一个内存空间,存储变量名,之后再将,静态区中数据100的物理地址,传栈区中的变量。 //思路:冒泡排序法 第1步,找出最大的一个数,存储在数组的最后 比较次数(数组的长度-1) 第2步,找出第2大的数,存储在数组的倒数第2个位置(在第) 比较次数数组长度-2) 调换两变量的值: 方式一:借助于第3个变量 方式二:利用和减一个等于另一个 方式三:利用异或 示例: 作用域 PHP作用域指的变量的作用范围。 全局作用域 在函数外部定义的变量就叫全局变量,其作用域是全局作用域 局部作用域 在函数内部定义的变量就叫局部变量,其作用域是局部作用域。 提示:php有很清晰的作用域 在函数内部使用外部的变量。 方法1:使用$GLOBALS(此函数没有作用域问题,但有脚本限制$_SESSION) 示例: 方法2:将全局变量,作为实参传递到函数内部 方法3:使用global关键字声明 原理: 在函数内部使用global声明一个变量时,首先会在全局找,是否有$v1的变量,有的话,将此变量的内存址传递函数内部的同名变量。(global相当于,向函数内部的同名变量传递了一个物理地址) 在函数外部访问函数内部 方法1:return 方法2:使用global声明 注意:global只能声明,不能赋值 数据类型的转换 在PHP中,有多种运算符,每一种运算的操作数据都要与运算相对就 算术运算,操作的数据是,数值类型, 字符串运算符,操作的数据是字符串 只有要相同数据类型才能进行直接运算,否则会进行转换。 1、自动转换 php在进行运算时,不是与运算符相对应的数据类型会自动 转换。此种转换是系统自动完成。 2、强制转换 在所需要转换的变量前使用小括号(),并且在括号中输入目标数据类型 语法: (目标数据类型)$变量; 目标数据类型: int或integer bool或boolean string float array object 其他数据类型转换为整型 其他数据类型转换为字符型 其他数据类型转换为布尔型 3、使用转换函数 intval(); stringval(); floatval(); GetType(); 用于获取变量的数据类型 SetType(); 用于设置变量的数据类型 示例: 伪类型 伪类型: mixed 混合数据类型 void 空 没有返回值 文件的引入 PHP会将多个脚本文件所使用的到的相同的代码,会单独生成(封装)成一个脚本文件,在使用此功能代码的,脚本文件中引用,即为文件的引入。 文件引入 语法: 方式1: require require_once 方式二: include include_once 根据引用的文件与被引入文件的逻辑上可以将引入分为 前向引入: 在当前脚本中使用另一个脚本中的功能性的功能。 后向引入: 当前脚本中有数据给另一个文件使用。 示例: 当前文件: 03nxn.php文件 03temp.html文件 文件引入的区别 require 特点: 在引入文件的过程中,如果出错,那么直接结束当前脚本的执行。 include 经验法则: ? 一般require引用功能性的代码(此种功能性的代码,在逻辑上引入其后的代码,依靠于被引入文件的代码)例如:数据库的连接, ? 一般require会书写在第一行。 ? 一般include用于引入模板性的文件 ? include多用于分支结构 ? 如果被引入的文件发生错误,对引入文件的影响不大,那么使用include once的区别: 没有Once的语法,每遇到一个require或include就会引入一次文件。 有once的语法,只保证引入一次。 示例1: 03nxn.php文件 示例2: 引入文件的原理 示例: 引入文件:03demo_require.php文件 被引入文件:03nxn.php 运行结果

文档评论(0)

yy558933 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档