- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
昨日回顾
文件引入
require 引入文件时,如果发生错误直接结束当前脚本执行
include 引入文件时,如果发生错误继续执行当前脚本
require_once
include_once
只确证引入的引入一次,引入时会先检查,是否引入过当前文件。
引入文件的原理:
如果有文件引入,当前文件与被引入文件的编译不同步,会导致函数先调用后引入的问题。(先引入,再调用函数。)
引入文件分类:
前向引入:当前文件需要使用另一个脚本中的功能代码(例如:公共函数,网站的配置信息)
后向引入:当前脚本中有数据交给另一个脚本文件使用(例如:模板原理)
无论前向还是后向都是将另一个文件引入到当前文件,执行也在是当前文件执行。
数组:
foreach($arr as $v1 【= $v2】){
//
}
原理:
foreach会操作数组的指针。每次获取数组中的每一个元素,并将元素的键名与键值赋值纷呈 $v1与$v2。赋值结束后将数组的指针下移一行。
each()
语法:
each(数组名);
作用:
每次获取数组中的一个元素(键名与键值),
将键名组织成新数组两个元素的键值,此两个元素的键名分别是0、key
将键值组织成新数组两个元素的键值,此两个元素的键名分别是1、value
之后指针下移。
list()一种语法结构
语法:
list(变量列表)=数组
作用:
将数组中的索引下标元素依次赋值给变量列表中的变量
变量列表中变量的个数,不能多于数组索引元素的个数
while(list($k,$v)=each($arr)){
//循环体
}
排序算法:
冒泡:
每次都是找出没有比较过的元素中最大元素,最终放到数组的最后(第1大的位于数组最后,第2大的位于数组倒数第2.....)。
放到最后位置的过程中会发生不停的交换位置。
插入排序:
将数组分成两部分(并不是实际将数组真正的分成两个数组存储,只是一种逻辑上的划分),第一个元素是一部分,其后的元素是另一个部分
第一部分,相当于一个有序数组,
第二部分,需要被排序的数据
排序过程,每次在第二部分中依次读取一个元素进行比较插入。
比较插入过程:将需要比较的元素存储到临时变量中与有序数组中元素从后向前进行比较,如果前者大于后者,调换位置,
调用位置过程:将前者赋值给后者(此步虽然覆盖了,但是数据已经在比较之前就放到临时变量中),再将临时变量的值赋值给前者的位置
数据类型的判断
在PHP不要相信外来的数据。
is_int() 判断是否是一个整型数据,如果是返回true,否则返回false
is_float() 判断是否是一个浮点数据,如果是返回true,否则返回false
is_numeric() 判断值是否是纯数字,如果是返回true,否则返回false
is_array() 判断是否是数组,如果是返回true,否则返回false
is_string() 判断是否是字符串,如果是返回true,否则返回false
is_bool() 判断是否是布尔型,如果是返回true,否则返回false
is_resource() 判断是否是资源类型,如果是返回true,否则返回false
is_null(); 判断是否是null值,如果是返回true,否则返回false
数组操作
数组比较操作
一般不会对数组进行比较,但PHP为我们提供了对数组进行比较功能(==)
比较规则:比较长度、元素的位置,
示例:
数组的合并
php数组的合并,提供了两种方式:
方法1:使用+
规则:
索引数组与关联数组,对于两个数组中索引相同的,保留第1个数组中元素
方法2:使用array_merge()函数
规则:
索引数组,直接将第2个数组,连接到第1个数组之后。
关联数组,对于两个数组键名相同的元素,保留第2个数组中元素
示例1:
示例2:
数组指针操作
key(); 获取数组指针当前所指向的元素的键名
current(); 获取数组指针当前所指向的元素的键值
示例:
next(); 将数组的指针下移一行
示例:
prev(); 将数组的指针上移
示例:
end(); 将指针移动到数组的最后一个元素
示例:
reset(); 将数组的指针重置
示例:
模拟数据结构
数组
栈 只能在同一端插入数据,同一端删除数据,先进后出。
队列 只允许在一端插入数据,在另一个端删除数据,先进先出
cpu(Center processor Unit)
array_pop(); 从数组的尾部删除一个元素,返回被删除的元素
示例:
array_push(); 向数组的尾部追加一个元素,返回添加新元素后数组长度
示例:
array_shift(); 从数组的头部删除一个元素,并返回被删除的元素
文档评论(0)