博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20141225 数组二
阅读量:5084 次
发布时间:2019-06-13

本文共 1452 字,大约阅读时间需要 4 分钟。

数组内存分析

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

foreach内存分析

php二维数组

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

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

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

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

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

遍历二维数组

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

each函数

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

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:获取一个数组的所有值,返回一个索引数组

使用函数遍历数组

key,current和next

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

一旦数组指针移出数组,那么使用next和prev都不能将指针移回来,只能通过reset和end

函数循环遍历数组

for循环遍历关联数组

作业:

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

数据结构模拟函数

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

栈:先进后出(FILO)

队列:先进先出(FIFO)

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

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

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

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

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

模拟栈

栈:出栈和入栈(压栈)

出栈:array_pop

入栈:array_push

模拟队列

入队:array_push

出队:array_shift

posted on
2017-02-22 18:12  阅读(
...) 评论(
...) 收藏

转载于:https://www.cnblogs.com/lifushan/p/6430350.html

你可能感兴趣的文章
记一次Web服务的性能调优
查看>>
jQuery.form.js使用
查看>>
(转)linux sort,uniq,cut,wc命令详解
查看>>
关于ExecuteNonQuery执行的返回值(SQL语句、存储过程)
查看>>
UVa540 Team Queue(队列queue)
查看>>
mysql数据增删改查
查看>>
shell中下载最新版本或指定版本的办法(Dockerfile 中通用)
查看>>
极客时间-左耳听风-程序员攻略-分布式架构工程设计
查看>>
akka之种子节点
查看>>
不知道做什么时
查看>>
matlab 给某一列乘上一个系数
查看>>
密码学笔记——培根密码
查看>>
Screening technology proved cost effective deal
查看>>
MAC 上升级python为最新版本
查看>>
创业老板不能犯的十种错误
查看>>
Animations介绍及实例
查看>>
判断请求是否为ajax请求
查看>>
【POJ2699】The Maximum Number of Strong Kings(网络流)
查看>>
spring boot配置跨域
查看>>
BZOJ 1996 合唱队(DP)
查看>>