索引数组

数组分为索引数组和关联数组。在这里讲的是索引数组,首先先了解一下什么是数字索引数组

数字索引数组 是最常见的数组类型,绝大多数编程语言都有数字索引数组,PHP数字索引数组一般表示数组元素在数组中的位置,它由数字组成,下标从0开始。数字索引数组默认索引值就是从数字0开始的,不需要特别指定。PHP会自动为索引数组的键名赋一个整数值。然后从这个值开始自动增量。当然也可以指定从某个位置开始保存数据。

数组可以构成一系列的“键-值(key-value)对”,其中每一对都是数组的一个项目或者元素,对于数组中的每一个项目都有一个与之关联的键(key)或者索引(index)相对应。

0 low
1 AimeeMann
2 AniDiFranco
3 Spiritualized
4 Air

在数组中我们除了可以存放数值也可以存放字符串

$arr = array(50,60,70,80);
$arr2 = array('张三','李四','王五');

print_r($arr);//输出这个数组
ar_dump($arr);

也可以使用查看源代码来查看这个数组结构,或者使用var_dump()来查看

在php中数组元素可以是任意类型

$arr3 = array(50,'张三','王五',80.56);

而从PHP5.4开始我们可以使用[ ] 来代替array关键字,也就是说从PHP5.4后我们既可以使用array关键字来创建数组,也可以使用[ ] 

$arr4 = ['apple','orange',50,50.8];

在=>前边的是键,后面是值

$arr5 = array(5=>'apple',6=>'orange',7=>50,11=>50.8);//指定数组索引号,键=>值,在数组中,键是不相同的,值可以相同

也可以不指定它的键名

​
$arr5 = array(5=>'apple',6=>'orange',50,11=>50.8);//指定数组索引号,键=>值,在数组中,键是不相同的,值可以相同

​print_r($arr5);

会输出

array([5] => apple [6] => aorange [7] =>50  [11] =>50.8)

因为在它前面键分别是5,6又因为它没有指定键名所以顺延下来它就是7

如果我们要是将50.8的键改为7的话,又会输出什么呢。在数组中不可能存在两个相同的键,当我们将50.8的键名改为7时,就出现了两个键为7的元素,这样就会导致后边元素的值会覆盖前边元素的值

$arr5 = array(5=>'apple',6=>'orange',50,7=>50.8);

输出结果

array([5] => apple [6] => aorange [7] =>50.8)

在数组中,键是不相同的,值可以相同

$arr5 = array(5=>'apple',6=>'orange',50,8=>50);

输出结果

array([5] => apple [6] => aorange [7] =>50  [8] =>50)

我们创建数组时,可以先创建空数组,再向里面追加元素,创建空数组时可以使用$arr6 = array('张三',80);也可以使用$arr6 = [];

两种方式都可以

//先创建空数组,再向里面追加元素
$arr6 = array('张三',80);//创建空数组
// $arr6 = [];
$arr6[] = 'apple';//追加元素
$arr6[] = 'orange';
$arr6[] = 50;

也可以先放一部分元素再继续向数组中追加元素

$arr6= ['张三',80];
$arr6[] = 'apple';//追加元素
$arr6[] = 'orange';
$arr6[] = 50;
array_push($arr6,100);
array_push($arr6,'aaa');

还可以使用array_push快速创建一定范围单元的数组,先来了解一下array_push

array_push — 将一个或多个单元压入数组的末尾(入栈)

语法:int array_push ( array &$array , mixed $var [, mixed $... ] )

array:输入的数组

var:要压入的值。

array_push()array 当成一个栈,并将传入的变量压入 array 的末尾。 array 的长度将根据入栈变量的数目增加。

Note: 如果第一个参数不是数组, array_push() 将发出一条警告。如下图

array_push(100);
array_push('aaa');

所以要在第一个参数的位置写入数组

array_push($arr6,100);
array_push($arr6,'aaa');

用array_push快速创建数组


//快速创建数组
// $arr7 = array('a','b','c','d','z');
$arr7 = range('a','z');//只能创建一定范围内的数组
// $arr7 = range('A','Z');
// $arr7 = range(0,9);
print_r($arr7);
// var_dump($arr);

输出结果

Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f [6] => g [7] => h [8] => i [9] => j [10] => k [11] => l [12] => m [13] => n [14] => o [15] => p [16] => q [17] => r [18] => s [19] => t [20] => u [21] => v [22] => w [23] => x [24] => y [25] => z )

上面的代码中用到了range()这个函数,

range — 建立一个包含指定范围单元的数组

说明

array range ( mixed $start , mixed $limit [, number $step = 1 ] )

建立一个包含指定范围单元的数组。

参数

start

序列的第一个值。

limit

序列结束于 limit 的值。

step

如果给出了 step 的值,它将被作为单元之间的步进值。 step 应该为正值。如果未指定, step 则默认为 1

猜你喜欢

转载自blog.csdn.net/qq_42402975/article/details/83893564