PHP的七个数组指针函数
1. PHP的七个数组指针函数
| 函数 | 描述 |
|---|---|
| reset() | 将一个数组的内部指针重置到首位,并返回第一个元素的值 |
| end() | 将一个数组的内部指针移动到数组的最后一个元素所在的位置,并返回最后一个元素的值 |
| prev() | 移动数组指针到上一位,返回该位的值,当该位没有元素或是空数组时返回false |
| next() | 移动数组指针到下一位,返回该位的值,当该位没有元素或是空数组时返回false |
| key() | 返回当前指针所指向的元素的键,当指针所指的那一位没有元素返回null,空数组返回null |
| current() | 返回当前数组指针所指向的值,指针移动超出了数组的末尾或数组为空时返回false |
| each() | 返回当前指针所指的元素的值和键,并且移动指针到下一位 |
2. each() 从 7.2.0 开始被弃用,不推荐再使用
Warning
This function has been DEPRECATED as of PHP 7.2.0. Relying on this function is highly discouraged
翻译:从PHP7.2.0开始,此函数已被弃用。非常不鼓励依赖此功能
3. 数组指针函数的参数必须是一个变量
因为上面的数组指针函数都是引用传值,所以数组指针函数的参数必须是一个变量,而不能直接传给一个数组数据
$arr = ['张三', '李四', '王五'];
echo reset(['张三', '李四', '王五']);//抛出错误:Fatal error
Fatal error
Only variables can be passed by reference in D:\phpstudy-v8.1\phpstudy_pro\WWW\1.php on line 5
翻译:在D:\phpstudy-v8.1\phpstudy_pro\WWW\1.php的第5行中,只能通过引用传递变量
4. 使用场景(我经常用的)
获取数组的第一个元素reset()和最后一个元素 end()
$arr = ['张三', '李四', '王五'];
echo reset($arr);//张三
echo end($arr);//王五
PHP的七个数组指针函数的更多相关文章
- PHP中使用数组指针函数操作数组示例
数组的内部指针是数组内部的组织机制,指向一个数组中的某个元素.默认是指向数组中第一个元素通过移动或改变指针的位置,可以访问数组中的任意元素.对于数组指针的控制PHP提供了以下几个内建函数可以利用. ★ ...
- 5_PHP数组_3_数组处理函数及其应用_3_数组指针函数
以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 数组指针函数 1. key() 函数 程序: <?php $interests[2] = "mus ...
- php数组指针函数
数组指针函数有reset(),prev(),current(),next(),end(),key(),each() 其中reset(),prev(),current(),next(),end(),都是 ...
- C语言指针系列 - 一级指针.一维数组,二级指针,二维数组,指针数组,数组指针,函数指针,指针函数
1. 数组名 C语言中的数组名是一个特殊的存在, 从本质上来讲, 数组名是一个地址, 我们可以打印一个指针的值,和打印一个数组的值来观察出这个本质: int nArray[10] ={ 0 }; in ...
- 5_PHP数组_3_数组处理函数及其应用_5_数组遍历语言结构
以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 数组遍历语言结构 1. foreach ( array as $value ) 程序: <?php $int ...
- C与指针(结构体指针,函数指针,数组指针,指针数组)定义与使用
类型 普通指针 指针数组(非指针类型) 数组指针 结构体指针 函数指针 二重指针 定义方式 int *p; int *p[5]; int (*p)[5]; int a[3][5]; struct{.. ...
- c/c++ 函数指针 指针函数 数组的引用 指针数组 数组指针
1.指针数组数组指针 引用数组 数组的引用 int *a[10] 指针数组 每一个元素都是一个指针 Int (*a)[10] 数组指针 P指向一个含有10个元素的数组 Int (&a)[10] ...
- C语言 数组做函数参数退化为指针的技术推演
//数组做函数参数退化为指针的技术推演 #include<stdio.h> #include<stdlib.h> #include<string.h> //一维数组 ...
- C/C++ 一段代码区分数组指针|指针数组|函数指针|函数指针数组
#include<stdio.h> #include<stdlib.h> #include<windows.h> /* 举列子说明什么是函数指针 */ //以一个加 ...
随机推荐
- “既生 ExecutorService, 何生 CompletionService?”
前言 在 我会手动创建线程,为什么要使用线程池? 中详细的介绍了 ExecutorService,可以将整块任务拆分做简单的并行处理: 在 不会用Java Future,我怀疑你泡茶没我快 中又详细的 ...
- 【IDE】WebStorm 调整Tab缩进为2空格 -- 为遵循ESLint语法规范
步骤一 修改这三处的值为:2 步骤二 把这两处默认的勾选去掉,不让其detection当前文件的Tab缩进 注意! 通过上面两个步骤,我们只是改变了在JS文件的Tab缩进改为2个空格 但是,*.vue ...
- day1 计算机的组成
1.计算机,是用于高速计算的电子机器,具有数值计算, 逻辑判断,储存记忆的功能. 2.计算机由硬件系统和软件系统组成构成. 3.计算机中所有的运行程序都是在内存中进行的,暂时存放在CPU中的运算数据 ...
- three.js UV映射简述
今天郭先生来说一说uv映射,什么是uv映射?uv映射就是将二维的贴图映射到对象的一个面(或者多个面)上.说到这个问题,我们就不得不了解一下Geometry的点.面和uv的结构.我们以BoxGeomet ...
- 《Java从入门到失业》第二章:Java环境(一):Java SE安装
从这一章开始,终于我们可以开始正式进入Java世界了.前面我们提到过,Java分三个版本,我们这里只讨论Java SE. 2.1Java SE安装 所谓工欲善其事,必先利其器.第一步,我们当然是要下载 ...
- python 07 字典 集合
字典 key:value 键:值 映射,哈希值,关系(数组) x=['1','2'] y=['a','b'] >>print(y[x.index('1')]) a index() 函数用于 ...
- mac下protobuf配置记录
sudo vi /etc/profile加到文件底部 export PATH=$PATH:$GOBIN:/usr/local/go/bin export GOPATH=/Users/jinfuzhan ...
- OVS DPDK VXLAN隧道处理
原文链接: OVS DPDK VXLAN隧道处理
- You are using pip version 10.0.1, however version 20.2.2 is available.
在安装第三方库时,出现如下提示: You are using pip version 10.0.1, however version 20.2.2 is available.You should co ...
- CODING DevOps 代码质量实战系列第二课: PHP 版
讲师介绍 杨周 CODING DevOps 架构师 CODING 布道师 连续创业者.DIY/Linux 玩家.知乎小 V,曾在创新工场.百度担任后端开发.十余年一线研发和带队经验,经历了 ToB.T ...