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