打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
PHP教程(5)常用系统函数+数组+数组遍历+数组函数+数据结构模拟
userphoto

2022.07.17 广东

关注

回顾

         自定义函数:返回值,参数传值(值传递和引用传递),作用域(全局和局部,超全局),静态变量(函数计数器:static 变量 = ;)。

         匿名函数:变量+()

         伪类型:告诉用户当前数据的类型

         可变函数:通过变量构造函数访问

         数据类型判断:is_数据类型

         数据类型转换:强制转换和自动转换,settypegettype

         文件包含:html布局和代码重用(复用),includerequire,路径(绝对路径和相对路径)


常用系统函数

字符串函数,数学函数,时间日期函数

字符串函数

strlen:获取字符串长度,字节长度

         字节:指的是计算机的存储单位,一个字节=8

         字符:用户可见的图形符号,字符通过字符集转换成字节

                  GBK:一个字符 = 2个字节

                  UTF-8:通常一个字符 = 3个字节,特殊一个字符 = 2/4个字节

substr:字符串截取,获取字符串(按照字节进行截取)

字符串substr ( 目标字符串 , 字符串的其实位置 [, 截取长度 ] )

所有php中的字符串的首字母所占用的位置是0

strtolower:所有的字符都小写(针对英文字母)

strtoupper:所有的字符都大写

strrev:字符串反转(只能反转英文:英文存储只有一个字节),按照字节进行反转

strpos:从字符串中找对应字符出现的位置(数字下标),从最左边开始找

strrpos:与strpos一样,只是从字符串的右边开始找

通常配合字符串截取(substr)一起使用

strchr:与substr相似,从指定位置截取一直到最后

strrchr(获取文件后缀名):与strchr一样,只是从右边开始查找字符

trim:去掉函数两边的字符,默认是空格,去除两边连续存在的内容,而不能跨内容

字符串trim ( 目标字符串[,要去除的字符串列表 ] )

通常:trim用来剔除空格或者某个指定的字符

时间日期函数

PHP中的时间日期函数很强大

time:得到当前时间的时间戳(整型:从格林威治时间197011000秒开始)秒数

date:时间序列化函数,将指定的时间戳转换成规定时间日期的显示格式(随意的字符串:有专业的格式符规定),如果没有指定时间戳,系统默认使用当前时间的时间戳

strtotime:时间日期格式的字符串转换成对应的时间戳(只要是正确的英语时间表达方式,都可以进行转换)

microtime:微秒时间戳,根据不同的要求返回不同的结果

混合microtime (布尔类型 ),可以返回一个浮点数的时间,也可以返回一个数组(时间戳和微秒数)

数学相关函数

abs:绝对值

floor:向下取整

ceil:向上取整

round:四舍五入

rand:取得一个指定范围内的随机整数

mt_rand:取得一个指定范围内的随机整数(效率更高)

数组

基础概念

1.      什么是数组?

数据的集合,多个信息通过一个变量来进行数据的保存。

2.      php数组的特点

a)        php数组中的数据没有数据类型限制

b)        php数组没有数据长度限制(数据长度,数组元素长度)

c)        PHP数组元素的下标可以是数字也可以是字符串

数组语法

定义数组

方式1

         变量 = array();        //空数组

         变量 = array(1,2,3,4,5);                   //数组内部元素使用逗号进行分隔

方式2

         变量 = [1,2,3,4,5];

方式3

         变量[] = ;

添加数组元素

所有的数组元素的添加都是通过数组变量使用[]的形式来添加(动态添加)

数组变量[] = ;             //给数组变量增加一个元素

方式1:系统自动增加元素的下标:键名

         数组变量[] =

方式2:手动的增加元素的下标:键名(数值)

方式3:手动增加元素下标:字符串

数组访问

所有的数组访问方式都是一样的:都是通过数组元素的下标进行访问

语法:变量名['下标’]

PHP数组分类

PHP数组分类的依据:数组的下标

分为三类:索引数组,关联数组,混合数组

索引数组:所有数组元素的下标全是数字

关联数组:所有数组元素的下标都是字符串

混合数组:数组下标既有数字又有字符串

php中:数组的下标具有唯一性,php下标如果是字符串区分大小写。

遍历数组

取出数组中的所有元素

for循环

满足基本条件:知道数组长度;数组的下标必须是索引,而且要从0开始顺序递增。

foreach循环

foreach循环就是专门用来遍历数组元素的,将当前数组元素的键名和值都取出来,分别赋值给对应的变量。

语法:foreach(数组变量 as [键名变量 =>] 值变量){

         //使用键名变量和值变量来输出操作对应的数组元素数据

}

数组内存分析

数组在内存中的存在形式。

foreach内存分析

php二维数组

php中只有一维数组,没有理论上的二维数组。

php的二维数组:指的是在数组元素值出现的位置上,刚好又出现了一个数组

$arr = array( 0 =>array(0 =>1),1 => array(0 => 2))

$arr[0] //访问一维数组元素

$arr[0][0]//访问二维数组元素

遍历二维数组

通常二维数组都是进行一层foreach遍历,一维数组是不需要遍历的,直接通过下标访问。

each函数

each是一个专门对数组进行数据获取的函数,获取当前数组指针所指向的元素的数据,并将当前指针所指向的数据,通过一个混合数组返回,返回4个元素,将原来的键名和键值各生成一个索引(01)和一个关联(keyvalue

each操作完数组元素之后一定会将数组指针下移。

echo如果对应操作的数组指针已经移出数组,那么就会返回false

证明foreach是通过指针对数据进行操作

each遍历数组

list结构

list 是一种能够从别的数组中获取指定的元素的结构,会将获取到的数据挨个的分配到自己指定的变量当中

语法

list(变量1,变量2….) = 数组(元素1,元素2…) =====è 变量1 = 元素1;变量2 = 元素2….

list结构要使用,必须满足以下特点

1.      被获取的数组元素,必须要有索引元素,而且索引必须从0开始,而且索引必须连续顺序递增

2.      list结构内的变量不能超过被获取数组中的元素个数(有效元素)

数组函数

key:获取当前数组当前指针所指向的元素的下标

current:获取的当前指针指向元素的数值

next:获取下一个元素的值,并且将指针下移

prev:获取上一个元素的值,并且将指针上移

end :将指针移到数组的最后一个元素,并返回最终指针位置的值

reset:将指针移到数组的第一个元素,返回最终指针位置的值

array_keys:获取一个数组的所有键名,返回一个索引数组

array_values:获取一个数组的所有值,返回一个索引数组

使用函数遍历数组

keycurrentnext

next或者prev如果将指针移出了数组,key得到的是NULL,而current返回的false

一旦数组指针移出数组,那么使用nextprev都不能将指针移回来,只能通过resetend

函数循环遍历数组

for循环遍历关联数组

作业:

1.      有多少种方式可以遍历数组?每种方式都遍历一次数组。

数据结构模拟函数

数据结构:数据在内存中存在以及处理的方式

栈:先进后出(FILO

队列:先进先出(FIFO

以下四个函数:都是对数组本身进行操作

array_shift:从数组的前面弹出元素,得到元素的值

array_unshift:从数组的前面压入元素,得到当前数组元素的个数

array_push:从数组的后面压入元素,得到当前数组元素的个数

array_pop:从数组的后面弹出元素,获得元素的值

模拟栈

栈:出栈和入栈(压栈)

出栈:array_pop

入栈:array_push

模拟队列

入队:array_push

出队:array_shift

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
php数组声明、遍历、数组全局变量使用小结
js基础
Bash技巧:详解键值对关联数组、一维索引数组的用法
VBA笔记入门篇
PHP内核探索:PHP中的哈希表
计算机科学研究者陶贤斌站在巨人的肩膀上总结JavaScript数组
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服