phper必知必会之数组指针(四)
数组指针
1.介绍几个数组指针的函数
- current() - 返回数组中的当前单元
- end() - 将数组的内部指针指向最后一个单元
- prev() - 将数组的内部指针倒回一位
- reset() - 将数组的内部指针指向第一个单元
- each() - 返回数组中当前的键/值对并将数组指针向前移动一步
<?php
$listArr = [
'1232','2456','7789','8976',
'5678','3456','2347','9876',
'3451','7744','2212','3214',
];
echo "第一个元素".key($listArr).'=>'.current($listArr).PHP_EOL;
next($listArr);
echo "第二个元素".key($listArr).'=>'.current($listArr).PHP_EOL;
next($listArr);
echo "第三个元素".key($listArr).'=>'.current($listArr).PHP_EOL;
end($listArr);
echo "最后一个元素".key($listArr).'=>'.current($listArr).PHP_EOL;
prev($listArr);//内部指针倒回一位
echo "倒数第二位".key($listArr).'=>'.current($listArr).PHP_EOL;
reset($listArr);
echo "第一个元素".key($listArr).'=>'.current($listArr).PHP_EOL;
输出结果
第一个元素0=>1232
第二个元素1=>2456
第三个元素2=>7789
最后一个元素11=>3214
倒数第二位10=>2212
第一个元素0=>1232
2.使用each循环数组
<?php
$listArr = [
'1232','2456','7789','8976',
'5678','3456','2347','9876',
'3451','7744','2212','3214',
];
//使用each方法遍历数组
reset($listArr);
while(list($key,$value) = each($listArr)){
echo "key:{$key},value:{$value}".PHP_EOL;
}
输出结果
key:0,value:1232
key:1,value:2456
key:2,value:7789
key:3,value:8976
key:4,value:5678
key:5,value:3456
key:6,value:2347
key:7,value:9876
key:8,value:3451
key:9,value:7744
key:10,value:2212
key:11,value:3214
3.使用数组指针取出当前值的下一个值,环形取
<?php
/**
* 使用数组的指针函数实现数据类循环队列读取数据
*/
$listArr = [
'1232','2456','7789','8976',
'5678','3456','2347','9876',
'3451','7744','2212','3214',
];
/**
* [getNextvalue 根据当前值获取数组值下一个值]
* @Author lisiqiong
* @DateTime 2019-04-25
* @param [type] $value [description]
* @return [type] [description]
*/
function getNextvalue($listArr,$value){
$count = count($listArr);
$keyArr = array_keys($listArr,$value);
$key = $keyArr[0];
if(($key+1)!=$count){
for($i=0;$i<=$key;$i++){
next($listArr);
}
}
return current($listArr);
}
$value = getNextvalue($listArr,'2456');
echo "2456的下一个是{$value}".PHP_EOL;
$value = getNextvalue($listArr,'3214');
echo "3214的下一个是{$value}".PHP_EOL;
运行结果
2456的下一个是7789
3214的下一个是1232
phper必知必会之数组指针(四)的更多相关文章
- Java面试必知必会:基础
面试考察的知识点多而杂,要完全掌握需要花费大量的时间和精力.但是面试中经常被问到的知识点却没有多少,你完全可以用 20% 的时间去掌握 80% 常问的知识点. 一.基础 包括: 杂七杂八 面向对象 数 ...
- python网络爬虫,知识储备,简单爬虫的必知必会,【核心】
知识储备,简单爬虫的必知必会,[核心] 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌 ...
- H5系列之History(必知必会)
H5系列之History(必知必会) 目录 概念 兼容性 属性 方法 H5方法 概念 理解History Api的使用方式 目的是为了解决哪些问题 作用:ajax获取数据时 ...
- 第5节:Java基础 - 必知必会(下)
第5节:Java基础 - 必知必会(下) 本小节是Java基础篇章的第三小节,主要讲述Java中的Exception与Error,JIT编译器以及值传递与引用传递的知识点. 一.Java中的Excep ...
- Elasticsearch必知必会的干货知识一:ES索引文档的CRUD
若在传统DBMS 关系型数据库中查询海量数据,特别是模糊查询,一般我们都是使用like %查询的值%,但这样会导致无法应用索引,从而形成全表扫描效率低下,即使是在有索引的字段精确值查找,面对海量数 ...
- MySQL必知必会(第4版)整理笔记
参考书籍: BookName:<SQL必知必会(第4版)> BookName:<Mysql必知必会(第4版)> Author: Ben Forta 说明:本书学习笔记 1.了解 ...
- 【MySQL 基础】MySQL必知必会
MySQL必知必会 简介 <MySQL必知必会>的学习笔记和总结. 书籍链接 了解SQL 数据库基础 什么是数据库 数据库(database):保存有组织的数据的容器(通常是一个文 件或一 ...
- 必知必会之 Java
必知必会之 Java 目录 不定期更新中-- 基础知识 数据计量单位 面向对象三大特性 基础数据类型 注释格式 访问修饰符 运算符 算数运算符 关系运算符 位运算符 逻辑运算符 赋值运算符 三目表达式 ...
- Java面试必知必会(扩展)——Java基础
float f=3.4;是否正确? 不正确 3.4是双精度,将双精度赋值给浮点型属于向下转型,会造成精度损失: 因此需要强制类型转换: 方式一:float f=(float)3.4 方式二:float ...
- 闻道Go语言,6月龄必知必会
大家好,我是马甲哥, 学习新知识, 我的策略是模仿-->归纳--->举一反三, 在同程倒腾Go语言一年有余,本次记录<闻道Go语言,6月龄必知必会>,形式是同我的主力语言C#做 ...
随机推荐
- 算法笔记——C/C++语言基础篇(已完结)
开始系统学习算法,希望自己能够坚持下去,期间会把常用到的算法写进此博客,便于以后复习,同时希望能够给初学者提供一定的帮助,手敲难免存在错误,欢迎评论指正,共同学习.博客也可能会引用别人写的代码,如有引 ...
- shell批量杀进程
ps aux |grep java |grep -v 'grep java'|awk {'print $2'}|xargs kill -9 ps aux |grep java 查询包含‘java’的进 ...
- webservice-jdk客户端代码
使用wsimport.exe 生成客户端代码 使用JDK的bin文件夹中,有一个wsimport.exe,这个工具依据wsdl文件生成相应的类文件,然后用这些文件就可以像调用本地类一样调用本地的类一样 ...
- Amaze UI 发布基于jQuery新版本v2.0.0之web组件
首先Amaze Ui第一版时我收到邮件邀请去试用,去了官网看了下,是基于zepto.js的一个类似bootstrap的响应式框架,提到框架当然是好事,快速开发呗.这词2.0的弃用zepto.js改用j ...
- 玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统 ...
- ZOJ2540 Form a Square
Form a Square 题意就是 判断 给你四个点,能否组成一个正方形 要点: 格式很重要, 很重要!!! 数据很小,直接暴力 四个点判断是否为正方形,只需将所有可能的边长度算出来,然后选其中最短 ...
- L243 词汇题2009
The applications of genetic engineering are abundant (plentiful) and choosing one appropriate for th ...
- php file文件操作函数
filemtime() 函数: filemtime() 函数返回文件内容上次的修改时间. 若成功,则时间以 Unix 时间戳的方式返回.若失败,则返回 false. <?php echo fil ...
- 可远程定位、解锁并启动汽车的黑客设备OwnStar
GM告诉WIRED,OnStar用户不必担心之前存在的问题,现在已经修复了之前可被利用的漏洞,. 然而,Kamkar表示问题还是没有被解决,并且已经由GM汇报了该问题. 在任何已经连接的汽车上,GM的 ...
- 2016 ACM/ICPC Asia Regional Qingdao Online 1001 I Count Two Three(打表+二分搜索)
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission( ...