php有多少种数组类型

php有3种数组类型,分别是:1、索引数组:数组的下标是数字,而且从0开始以此类推;2、关联数组:数组的下标为字符是关联数组,使用除了NULL的字符串或者其他类型的值来索引它;3、多维数组:包含一个或多个数组的数组,二维数组以上的数组,既非线性也非平面的数组成为多维数组。

本教程的操作环境:Windows10系统、php8.1.3版、dell g3电脑

数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。PHP中的数组较为复杂,但比其他许多高级语言中的数组更为灵活。

数组array是一组有序的变量,其中每个值被称为一个元素。每个元素由一个特殊的标识符来区分,这个标识符称为键(也称为下标)。

数组中的每个实体都包含两项,分别是键(key)和值(value)。可以通过键值来获取相应的数组元素,这些键可以是数值键,也可以是关联键。如果说变量是存储单个值的容器,那么数组就是存储多个值的容器。

PHP数组比其他高级语言中的数组更加灵活,不但支持以数字为键名的索引数组,而且支持以字符串或字符串、数字混合为键名的关联数组。而在其他高级语言中,如Java或者C++等语言的数组,只支持数字索引数组。

PHP数组的结构如下图所示:

php数组的类型:

索引数组:数组的下标是数字;

关联数组:数组的下标为字符是关联数组;

多维数组:包含一个或多个数组的数组;

注意:PHP中数组其实是不区分索引还是关联数组,都是根据键名找到对应的键值

1、索引数组

索引数组存储一系列经过组织的单个或多个值,其中的每个值都可以通过使用一个无符号整数值进行访问。索引数组的键是整数,而且从0开始以此类推。

索引数组初始化例:

1

2

3

4

5

<?php

//创建一个索引数组,索引数组的键是“0”,值是“苹果”

$fruit=array(“苹果”,”香蕉”);

print_r($fruit);

?>

登录后复制

运行结果:

1

2

3

4

5

Array

(

[0] => 苹果

[1] => 香蕉

)

登录后复制

索引数组的三种赋值方式:

array[0]=苹果;

$arr=array(0=>苹果);

$arr=array(苹果);

例:

1

2

3

4

5

<?php

//请创建一个数组变量arr,并尝试创建一个索引数组,键是0,值是苹果

$arr=array(0=>苹果);

if( isset($arr) ) {print_r($arr);}

?>

登录后复制

用for与foreach可以访问到数组里面的元素,因for比较容易下面只举使用foreach的例子,

1

2

3

4

5

6

7

<?php

$fruit=array(苹果,香蕉,菠萝);

foreach($fruit as $key=>$value){

echo <br>第.$key.值是:.$value;

}

?>

登录后复制

运行结果:

1

2

3

第0值是:苹果

第1值是:香蕉

第2值是:菠萝

登录后复制

注:这里$key是键值$value则是元素值

2、关联数组

“关联数组”是一种具有特殊索引方式的数组。使用字符串或者其他类型的值(除了NULL)来索引它。

其实关联数组和索引数组的差别只是在键值上,关联数组的键值是字符串,并且是人为的规定,例如:

1

2

3

4

5

<?php

//创建一个关联数组,关联数组的键“orange”,值是“橘子”

$fruit=array(orange=>橘子);

echo $fruit[orange];

?>

登录后复制

其余初始化,赋值,foreach的用法基本相同。

3、多维数组

数据结构中的概念, 二维数组以上的数组,既非线性也非平面的数组成为多维数组。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

<?php

$arr = array(

安徽 => array(

阜阳=>array(阜南县,临泉县,颍州区),

宿州=>array(墉桥区,灵璧县,泗县),

合肥=>array(蜀山区,长丰县,肥东)

),

河南 => array(

洛阳=>array(西工区,老城区,孟津县),

郑州市=>array(中原区,金水区)

)

);

print_r($arr);

echo $arr[安徽][宿州][0];  // 输出墉桥区

?>

登录后复制

其中“安徽”对应的是一个二维数组,“阜阳”“宿州”“合肥”分别对应一个一维数组;同理,“河南”也对应一个二维数组。“安徽”和“河南”分别对应一个二维数组,它俩组合起来形成一个三维数组。 PHP 中对多维数组没有上限的固定限制,但是随着维数的增加,数组会越来越复杂,对于阅读调试和维护都会稍微困难些。 以上程序的运行结果为:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

Array

(

[安徽] => Array

(

[阜阳] => Array

(

[0] => 阜南县

[1] => 临泉县

[2] => 颍州区

)

[宿州] => Array

(

[0] => 墉桥区

[1] => 灵璧县

[2] => 泗县

)

[合肥] => Array

(

[0] => 蜀山区

[1] => 长丰县

[2] => 肥东

)

)

[河南] => Array

(

[洛阳] => Array

(

[0] => 西工区

[1] => 老城区

[2] => 孟津县

)

[郑州市] => Array

(

[0] => 中原区

[1] => 金水区

)

)

)

墉桥区

登录后复制

以上就是php有多少种数组类型的详细内容,更多请关注php中文网其它相关文章!

TG交流群(点击进入)----付费帮助搭建---修复---二开,以及发布求资源.
QQ交流群 922260178
© 版权声明
THE END
喜欢就支持一下吧
点赞2.4W+ 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容