PHP数组简介

一.PHP数组的分类

按照下标的不同,PHP中的数组分为关联数组和索引数组:
索引数组:下标从0开始,依次增长。

$arr=[1,2,3,4,5];

关联数组:下标为字符串格式,每个下标字符串与数组的值一一关联对应。(有点像对象的键值对)

$arr=["a"=>1;"b"=>2;"c"=>3];

注:[]声明在5.4版本之后才能使用。

二.关于关联数组和索引数组

1、数组中,可以同时存在索引数组和关联数组

  array(1,2,3,"four"=>4);

2、数组中,所有的索引数组,如果不加指定,会去掉关联项,默认增长(即关联数组不占索引位)

array(1,2,3,"four"=>4,5,6);

1,2,3,5,6的索引分别为0 1 2 3 4。
3、如果关联数组的key,是纯十进制整数字符串,则会将此数字转为索引数组的索引值

 array(1,2,3,"9"=>4);

1 2 3 4 的索引分别为 0 1 2 9。
 4、如果手动指定关联数组的key,索引数组的下标,如果与前面已有的key或下标重复,则后指定的值会覆盖之前的值

 array(1,2,"one"=>5,"one"=>6)

打印数组为  1 2 "one"=>6。
 5、如果手动指定索引数组下标,则后续自增长下标,会按照之前下标最大值,依次增长

array(1,2,3,"9"=>4,5);

1 2 3 4 5 的索引分别为 0 1 2 9 10。

三.数组的遍历

1、使用for循环遍历数组
count($arr);用于统计数组元素的个数
for循环只能用于遍历纯索引数组
如果存在关联数组,count统计时,会统计两种数组的总个数,使用for循环遍历混合数组,将导致数组越界!

$arr=[1,2,3,4,5];
for($i=0;$i<count($arr);$i++){
     echo $arr[$i];
}    

2、foreach循环遍历数组(最常用的方法)
 foreach可以遍历任何类型的数组,案例如下:

$arr=[1,2,"one"=>5,"one"=>6];
foreach($arr as $key=>$value){
        echo "这是key:{$key}";
        echo "这是value:{$value}";
}    

3.使用list() each() while遍历数组

list(); 用于将数组的每一个值,赋值给list函数的每一个参数。(list函数的参数,必须小于等于数组的元素个数)

注意:

list()在解析数组时,只解析索引数组,不能取出关联项。

list()可以通过空参数,选择性的解析数组的值;

each();用于返回数组当前指针所在位的键值对,并将指针后移一位,

返回值:一个数组。包含一个索引数组(0 键 1 值)和一个关联数组("key" 键 "value" 值)。

while(list($key,$value) = each($arr)){
    echo "{$key}&nbsp;{$value}<br>";
}
 reset($arr);

注意:数组使用each遍历完一遍后,指针始终处于最后一位的下一位,即再用each,始终返回false,如果还需使用,需用reset()函数,重置数组指针。

4、使用数组指针遍历数组

next():将数组指针后移一位,并返回后一位的值,没有返回false。

prev():将数组指针前移一位,并返回前一位的值,没有返回false。

end():将数组的指针直接移至最后一位,并返回最后一位的值,空数组返回false。

reset():重置数组指针,恢复至第一位,并返回第一位的值,空数组返回false。

key():返回当前指针所在位的键,如果数组为空或指针指到最后,返回null。

current():返回当前指针所在位的值,如果数组为空或指针指到最后,返回false。

$arr=[1,2,false,3,4,5];
while (true) {
    echo key($arr);
    echo"---";
    echo current($arr)."<br>";
    if(!next($arr)&&key($arr)===null)
        break;
    }
}

注意:

如果数组中存了false,空值会使next($arr)返回值是false,就会出现提前跳出的情况,所以用key($arr)===null判断是否到了最后一位。

以上就是数组函数的一些基本知识。

时间: 2024-10-06 21:46:22

PHP数组简介的相关文章

逗号运算符、do while循环、嵌套循环、数组简介

1.逗号运算符扩展了for循环的灵活性,因为它可以使您在一个循环中使用多个初始化或更新表达式. 实例程序: #include<stdio.h> int main() { const int A=37; const int B=23; int c,d; printf("   c     d\n"); for(c=1,d=A;c<=16;c++,d+=B) printf("%5d  $%4.2f\n",c,d/100.0); return 0; } 运

数组简介

1.什么叫数组 所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标.组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量.数组是在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来的一种形式.这些按序排列的同类数据元素的集合称为数组. 2.数组的作用 char  int  float  double  这些只能保存单个数据 而数组则可以保存多个类型

二维数组简介与使用

前言 本文将探讨一下关于二维数组在内存中的存储和二维数组在参数传递时的使用. 一.二维数组在内存中的存储 如果定义一个这样的二维数组int a[3][4]={{1,3,5,7},{9,11,13,15},{17,19,21,23}};则其在内存中的表示可能下面这样的. 由上图可以看出,在内存中二维数组是按照行主序进行存储的,从内存的角度上看,二维数组本质就是一个一维数组.如果把二维数组的每一行看成一个整体,即看成一个数组中的一个元素,那么整个二维数组就是一个一维数组.而二维数组的名字代表二维数组

C#数组简介

一.数组的定义 数组:是一种包含若干个变量的数据结构,这些变量可以通过索引进行访问. 数组的元素:数组中的变量就称为数组的元素. 元素类型:数组中的元素具有相同的数据类型,该数据类型就称为数组的元素类型. 数组的维度:指的是和每个数组元素相关联的索引个数. 一维数组:维度为1的数组称为一维数组.如: int[] array;二维数组:维度为2的数组称为二维数组. 三维数组:维度为3的数组称为三维数组. 多维数组:又称为矩形数组,是指维度大于1的数组.其中包括二维数组.三维数组等.如: strin

Java基础(二)---数组简介

本篇对数组进行一个简单的介绍:数组(Array) 1.概念: 数组:同一种类型数据的0到多个数据的组合,可以是基本数据类型,也可以是引用数据类型 注:数组类型是引用数据类型时,数组名保存的是一段内存空间的地址,真正的元素保存在那段内存空间中 2.数组的数据类型:就是数组中元素的数据类型 3.数组中的内容: (1)元素(Element):数组中的各个数值称为元素 (2)索引(index):数组中各个元素的编号:从0开始,最大值是---数组的长度-1 (3)数组的长度(length):数组中元素的个

java数组简介

数组(Array)是Java 语言中内置的一种基本数据存储结构,通俗的理解,就是一组数的集合,目的是用来一次存储多个数据.数组是程序中实现很多算法的基础,可以在一定程度上简化代码的书写. 备注: 数组的好处:数组里的每个元素都有编号,编号从0开始,并且依次递增,方便操作这些元素: 使用Java数组:必须先声明数组,再给该数组分配内存: 数组对应在内存中一段连续空间. 数组元素必须是相同数据类型,也可以是引用数据类型,但是同一个数组中的元素必须是同一类数据类型. 原文地址:https://www.

shell 数组使用简介

数组简介 bash 只提供一维数组,并且没有限定数组的大小.类似与C语言,数组元素的下标由0开始编号.获取数组中的元素要利用下标.下标可以是整数或算术表达式,其值应大于或等于 0.用户可以使用赋值语句对数组变量赋值. 数组赋值 下标赋值 $ students[0]=Jack $ students[1]=Alex $ students[2]=Amy 也可以使用declare显式声明一个数组: $ declare -a 数组名 直接赋值 $ students=(Jack Alex Amy) 或 $

JavaScript基础学习(三)&mdash;数组

一.数组简介     JavaScript数组的每一项都可以保存任何类型的数据,也就是说数组的第一个位置保存字符串,第二个位置可以保存数值,第三个位置可以保存对象,而且数组的大小是可以动态调整的,即可以随着数据的添加而自动增长以扩容纳新增数据.   二.数组的操作 1.创建 //创建一个空数组 var arr = []; var arr2 = [1,true,new Date()]; arr2.length = 2; alert(arr2); //true   2.pop和push方法     

PHP数组遍历详解

一.PHP数组简介 1.PHP数组的分类 按照下标的不同分为关联数组和索引数组①索引数组:下标从0开始依次增长②关联数组:下标为字符串格式,每个下标字符串与数组的值一一对应,(有点像对象的键值对) 下面详细介绍下索引数组与关联数组 ①.数组中可以同时存在索引数组和关联数组:②.数组中所有的索引数组如果不加指定会去掉关联项,默认增长:关联数组不占索引位     array(1,2,"one"=>3,4,5); //1/2/4/5的索引-->0,1,2,3③.如果关联数组的ke