PHP数据类型一共有8种,我们已了解了5种:整数型、浮点型、字符串型、布尔型、NULL,这节开始讲第6种——数组。
先看示例,最快速度了解数组:
结果:
如果没有数组这种数据类型,我们把5种数据需要放入5个变量里,有了数组我们可以把5种数据类型或者很多很多不同的数据放入一个数组变量里就可以。上图$f就是一个数组变量。
数组是一个能在单个变量中存储多个值的特殊变量,数组数据类型其实就是把各种不同的数据类型组合起来当成一种新的数据类型。数组在PHP开发应用中是非常重要有用的,而且PHP数组和其他编程语言的数组有很大不同,学过其他语言,比如C语言,就觉得PHP数组根本称不上是数组,更像是一种集合。楠神觉得PHP数组的与众不同,给编程带来了很多方便。也正是这种数据存储容器具有的超级便利性,让PHP开发功能更快速和容易。接下来几节让我们一起对PHP数组了解和学习。
手册里的介绍:
PHP数组分为两种类型:索引数组和关联数组。
索引数组是所有编程语言都有的,关联数组是很多编程语言都没有的,我们先去学习索引数组。
一个数组只添加了数据,没有为数据指定下标,PHP会默认用不重复的数字为每一个数据设置一个下标,上图的$f就是一个索引数组,楠神只给变量$f里添加数据,并没有为每个数据设置下标。从图中也能看出来,5个数据的下标是0、1、2、3、4。(大家记住,程序里有些数字上的排序都是从0开始的。)
用上图的数组添加数据的方式如何设置一个下标:
看第18行代码,直接在中括号里写一个数字就可以,看结果:
下标为6的数据就是字符串“sssss”。
这里有两点需要注意:
1、如果楠神第18行中括号里写的是0到4的任一数字,就会把下标是0到4的任一数据给覆盖了,意思是给其中一个下标的值重新赋值了,不信大家可试试。
2、楠神最后添加的一数据,没有设置下标,默认是紧接着6从7开始的数字作为下标,所以$f数组下标5就跳过去了。
再看一示例:
结果:
虽然第20行下标设置5了,数组里也没有下标6,默认添加的数据下标是紧接着9从10开始的。
总结说明:对于索引数组,我们程序员最好不要去手工添加下标,由PHP自己默认处理就好了。
有朋友可能觉着数组变量比其他数据变量没什么优势嘛,添加数据也得一行一行添加。当然不是这样,给一个数组添加数据,还有更快捷简单的方法。
用array语言结构:
不带下标的 $g = array('ssss','xxx','ccc');
带下标的 $h = array(4 => 'qqq',5 => 'eee',6 => 'rrr');
用[]方法:(对PHP版本有要求,应该是5.4版本及以上可以使用这个方法)
不带下标的 $i = ['ssss','xxx','ccc'];
带下标的 $j = [7 => 'qqq',8 => 'eee',9 => 'rrr'];
结果:
上面两种方法需要注意数据之间用“,”隔开,不是“;”隔开。
另外说明下:数组的优势不是在添加数据上,而是读数据,以及数组这种独特的数据类型可以方便解决一些编程问题。