5_PHP数组_3_数组处理函数及其应用_3_数组指针函数
以下为学习孔祥盛主编的《PHP编程基础与实例教程》(第二版)所做的笔记。
数组指针函数

1. key() 函数
程序:
<?php
$interests[2] = "music";
$interests[5] = "movie";
$interests[1] = "computer";
$interests[] = "software";
var_dump(key($interests)); //int 2 //返回数组 arr 中"当前指针"所指元素的键名。
?>
输出:
D:\wampServer\www\Apache服务器主目录\practise\例程.php:6:int 2
2. current() 函数
程序:
<?php
$interests[2] = "music";
$interests[5] = "movie";
$interests[1] = "computer";
$interests[] = "software";
var_dump(current($interests)); //string 'music' (length=5) //返回数组 arr 中“当前指针”所指元素的“值”
?>
输出:
D:\wampServer\www\Apache服务器主目录\practise\例程.php:6:string 'music' (length=5)
3. next() 函数
程序:
<?php
$interests[2] = "music";
$interests[5] = "movie";
$interests[1] = "computer";
$interests[] = "software";
$second = next($interests);
$third = next($interests);
var_dump(key($interests)); //int 1
echo "<br/>";
var_dump(current($interests)); //string 'computer' (length=8)
echo "<br/>";
var_dump($second); //string 'movie' (length=5)
echo "<br/>";
var_dump($third); //string 'computer' (length=8)
?>
输出:
D:\wampServer\www\Apache服务器主目录\practise\例程.php:8:int 1 D:\wampServer\www\Apache服务器主目录\practise\例程.php:10:string 'computer' (length=8) D:\wampServer\www\Apache服务器主目录\practise\例程.php:12:string 'movie' (length=5) D:\wampServer\www\Apache服务器主目录\practise\例程.php:14:string 'computer' (length=8)
4. end() 函数
程序:
<?php
$interests[2] = "music";
$interests[5] = "movie";
$interests[1] = "computer";
$interests[] = "software";
$end = end($interests);
var_dump(key($interests)); //int 6
echo "<br/>";
var_dump(current($interests)); //string 'software' (length=8)
echo "<br/>";
var_dump($end); //string 'software' (length=8)
?>
输出:
D:\wampServer\www\Apache服务器主目录\practise\例程.php:7:int 6 D:\wampServer\www\Apache服务器主目录\practise\例程.php:9:string 'software' (length=8) D:\wampServer\www\Apache服务器主目录\practise\例程.php:11:string 'software' (length=8)
5. prev() 函数
程序:
<?php
$interests[2] = "music";
$interests[5] = "movie";
$interests[1] = "computer";
$interests[] = "software";
$end = end($interests);
$prev = prev($interests);
var_dump(key($interests)); //int 1
echo "<br/>";
var_dump(current($interests)); //string 'computer' (length=8)
echo "<br/>";
var_dump($end); //string 'software' (length=8)
echo "<br/>";
var_dump($prev); //string 'computer' (length=8)
?>
输出:
D:\wampServer\www\Apache服务器主目录\practise\例程.php:8:int 1 D:\wampServer\www\Apache服务器主目录\practise\例程.php:10:string 'computer' (length=8) D:\wampServer\www\Apache服务器主目录\practise\例程.php:12:string 'software' (length=8) D:\wampServer\www\Apache服务器主目录\practise\例程.php:14:string 'computer' (length=8)
6. reset() 函数
程序:
<?php
$interests[2] = "music";
$interests[5] = "movie";
$interests[1] = "computer";
$interests[] = "software";
$end = end($interests);
$first = reset($interests);
var_dump(key($interests)); //int 2
echo "<br/>";
var_dump(current($interests)); //string 'music' (length=5)
echo "<br/>";
var_dump($end); //string 'software' (length=8)
echo "<br/>";
var_dump($first); //string 'music' (length=5)
?>
输出:
D:\wampServer\www\Apache服务器主目录\practise\例程.php:8:int 2 D:\wampServer\www\Apache服务器主目录\practise\例程.php:10:string 'music' (length=5) D:\wampServer\www\Apache服务器主目录\practise\例程.php:12:string 'software' (length=8) D:\wampServer\www\Apache服务器主目录\practise\例程.php:14:string 'music' (length=5)
7. each() 函数
程序:
<?php
$interests[2] = "music";
$interests[5] = "movie";
$interests[1] = "computer";
$interests[] = "software";
$each = each($interests);
print_r( $each ); //Array ( [1] => music [value] => music [0] => 2 [key] => 2 )
echo "<br/>";
echo current($interests); //movie
?>
输出:

说明:
PHP 7.2 废弃了each()方法。
数组的遍历
使用list()语言结构、each()函数和循环语句可以实现
程序:
<?php
$fruits = array( 'orange', 'apple', 'banana');
$colors = array( 'orange', 'red', 'yellow' );
$temp = array_combine( $fruits,$colors );
do{
$key = key($temp);
$value = current($temp);
echo $key." => ".$value."<br/>";
}while( next($temp) );
?>
输出:
orange => orange
apple => red
banana => yellow
5_PHP数组_3_数组处理函数及其应用_3_数组指针函数的更多相关文章
- [C++基础]那些容易被混淆的概念:函数/数组指针-指针函数/数组,类/函数模板-模板类/函数
函数指针-指针函数 函数指针的重点是指针.表示的是一个指针,它指向的是一个函数.eg: int (*pf)(); 指针函数的重点是函数.表示的是一个函数,它的返回值是指针.eg: int* fun() ...
- CPP-基础:函数指针,指针函数,指针数组
函数指针 函数指针是指向函数的指针变量. 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数.这正如用指针变量可指向整型变量.字符型.数组一样,这里是指向函数.如前所述,C在编译时,每一个 ...
- c语言指针函数与函数指针
例一:指针函数 指针函数是指带指针的函数,即本质是一个函数.函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个 ...
- C++中的指针,指针函数和函数指针
指针是C或C++中的一大难题,因此弄懂指针对C和C++的学习有很大的帮助,最近一直在研究指针,因此写一篇随笔把心得记录一下. 简单来说指针也是一种变量,只不过指针变量所存储的不是我们直观上看到的,而是 ...
- C/C++指针函数和函数指针
一.指针函数 当一个函数声明其返回值为一个指针时,实际上就是返回一个地址给调用函数,以用于需要指针或地址的表达式中. 格式: 类型说明符 * 函数名(参数) 当然了,由于返回的是一个地址,所以类型说明 ...
- 【编程开发】 C与C++中的关于函数指针的强制类型转换与指针函数的关系
[编程开发] C与C++中的关于函数指针的强制类型转换与指针函数的关系 标签: [编程开发] [VS开发] 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 以 ...
- 指针函数(Pointer Function)和函数指针(Pointer to Function或Function Pointer)
一.指针函数 1.解释:指针函数很好理解:简单来说,就是一个返回指针的函数,本质是一个函数.如: int fun(int x,int y); //这是一个普通函数的声明,返回值是一个int类型, ...
- 5_PHP数组_3_数组处理函数及其应用_5_数组遍历语言结构
以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 数组遍历语言结构 1. foreach ( array as $value ) 程序: <?php $int ...
- php extract 函数的妙用 数组键名为声明为变量,键值赋值为变量内容
extract 函数的妙用 数组键名为声明为变量,键值赋值为变量内容 它的主要作用是将数组展开,键名作为变量名,元素值为变量值,可以说为数组的操作提供了另外一个方便的工具
随机推荐
- centos7安装sql-server2017
1. 关闭selinux Vim /etc/selinux/conf 将selinux=enable 改成selinux=disabled 2. 清空/关闭iptables策略 Iptables ...
- VS2013下开发VC++程序,编译时提示错误error MSB8020: The build tools for v140 (Platform Toolset = 'v140') 的解决方案
1. 问题描述: 提示如下错误:error MSB8020: The builds tools for v140 (Platform Toolset = 'v140') cannot be found ...
- arcpy实例教程-地图范围导出到要素类
arcpy实例教程-地图范围导出到要素类 商务合作,科技咨询,版权转让:向日葵,135-4855_4328,xiexiaokui#qq.com 功能:将当前地图范围导出到内存要素类 描述:将当前地图的 ...
- 025_Excel知识汇总
一.Excel相对引用和绝对应用的区别 加上了绝对地址符“$”的列标和行号为绝对地址,在公式向旁边复制时不会发生变化,没有加上绝对地址符号的列标和行号为相对地址,在公式向旁边复制时会跟着发生变化. 具 ...
- k8s记录-ubuntu安装docker
sudo apt-get purge docker-ce sudo rm -rf /var/lib/dockerdocker-ce:https://download.docker.com/linux/ ...
- Laya微信小游戏的开放域
版本2.1.1.1 现在Laya的开放域比较好用了. 新建开放域项目,里面直接有个排行榜的示例. 直接发布 得到较少的文件,复制这些文件,粘贴到主项目bin/openDataContext下. (op ...
- 【翻译】Flink Table Api & SQL —Streaming 概念 —— 查询配置
本文翻译自官网:Query Configuration https://ci.apache.org/projects/flink/flink-docs-release-1.9/dev/table/s ...
- ResponseBody和文件上传
SpringMVC默认使用MappingJacksonHttpMessageConverter对json数据进行转换 <dependency> <groupId>com.fas ...
- kexue shangwang002
需先搭建 openvpn 海外服务端, 具体参考 https://www.cnblogs.com/weifeng1463/p/11041550.html 选择阿里云华东ecs 搭建openvpn 的客 ...
- 记录一次使用iisnode部署node项目遇到的坑!
前言:最近因为项目原因,需要在IIS下部署node项目,在此之前,曾经部署过类似的项目,因此在这次部署还算比较顺利,只是在其中遇到了几个比较坑的问题,所以这次使用博客记录下来,如有园友遇到过类似问题, ...