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中文网其它相关文章!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有佣金分成!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.77ym.top",如遇到无法解压的请联系管理员!
7. 本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
暂无评论内容