Array definition

目录列表

数组的定义

数组在之前我们让大家记住两个观点:

  • 数组可以存入多个不同类型的数据,甚至还可以存数组,这样的数组我们叫多维数组,是一个复合数据类型。

  • 数组的英文是array,学一了一下最简单的数组声明。

那我们来进行简单的回顾:

'; var_dump($shu); echo '
'; ?>

打印结果:

/* array(4) { [0]=> int(1) [1]=> float(1.5) [2]=> bool(true) [3]=> string(33) "天王盖地虎,小鸡炖蘑菇" } */

在上例中,我们发现存入了多种类型的数据:

  • 整型

  • 浮点型

  • 布尔型

  • 字符串

我们仔细观察一下上面的结果,你会发现以下几个特点:

  • array(size = 4) 说明里面有4个元素

  • 0 => int 1 我们知道int是整型的意思,1是一个整型的数值。那前面的0,1,2,3和=>代表什么意思呢?

  • 最新前的0,1,2,3代表的是值的读取标识号,我们称之为下标或者键(英文:key)

  • => 是一个符号标准叫法叫作:键值对应符。因此,以后再看到 0=> int 1 可以这样来说。 下标访问符0对应整型的1。

  • 我们还称数组里面的键值对为元素,元素就是键值对的组合。

我们通过上例,其实你一不小心的就完成了数组其中的一种声明方式:索引数组的声明哟。

填空,声明一个数组。

$class(1,2,'年级');

索引数组

所谓索引数组:就是下标全为整型的数组。

索引数组的下标必须要从0开始吗?

答:索引数组并不一定要从0开始。

那如何能够不从0开始呢?

答:需要用到大家在上面学的一小块知识哟。就是键值对应符。我们来动手写写:

'我',20=>'PHP中文网'); //打印显示$kele echo '
'; var_dump($kele); echo '
'; ?>

结果:

/* array(2) { [5]=> string(3) "我" [20]=> string(12) "PHP中文网" } */

这样写你再看看结果是不是下标就不再是0了吧。

每次用array()写的太麻烦了,还可以不用写array哟,更简单。

实例:

 '刘亦菲', '黄圣依', '范冰冰' ]; echo '
'; var_dump($minren); echo '
'; ?>

上面是这两种写法。当然,你自己喜欢使用哪一种就使用哪一种来声明。

填空,声明一个下标从1开始的索引数组。

$minren =('hello','php_cn');

关联数组

索引数组适当的变一下形就出现了关联数组。只要数组里面有一个下标为字符串的数组,就为关联数组。

通过上例中,我们发现数组的下标只能够为字符串,当然不能够满足我的需求。

假设我想声明一个下标为帅对应陈奕迅这个值。肯定不能满足我的需求。

那我们来声明一下关联数组。跟索引数组的声明方式完成一样。不过不同的是,必须要指定字符串的下标和必须要使用键值对应符。

例如:

 '陈奕迅', '很帅' => '黄晓明', '灰常灰常帅' => '宁泽涛', '有男人味的大叔' => '吴秀波', ); //再来玩玩简洁声明 $drink = [ '美' => '凤姐', '很美' => '芙蓉姐姐', 'verymei' => '杨幂', '心中滴女神呀' => '华妃', 100 => '孙俪', '娘娘', ]; // 输出 $rela echo '
'; var_dump($rela); // 输出$drink var_dump($drink); echo '
'; ?>

结果:

/* array(4) { ["帅"]=> string(9) "陈奕迅" ["很帅"]=> string(9) "黄晓明" ["灰常灰常帅"]=> string(9) "宁泽涛" ["有男人味的大叔"]=> string(9) "吴秀波" } array(6) { ["美"]=> string(6) "凤姐" ["很美"]=> string(12) "芙蓉姐姐" ["verymei"]=> string(6) "杨幂" ["心中滴女神呀"]=> string(6) "华妃" [100]=> string(6) "孙俪" [101]=> string(6) "娘娘" } */

我们通过实验知道:

  • 声明关联数组是 键名 => 值

  • 在关联数组可以有索引数组的元素

  • 关联数组中的索引数组的元素后再声明了无下标的元素,依然是最大值+1原则。(观察上图中的值为孙俪、娘娘的两个元素)。

其他的关联数组声明方式:

 $cocacola, ); echo '
'; var_dump($drink); echo '
'; // 结果 /* array(2) { ["nf"]=> string(12) "农夫山泉" ["kl"]=> string(12) "可口可乐" } */ ?>


填空,声明一个下标为‘name’的关联数组。

''=>'php中文网','age'3; var_dump($rela); ?>

1/6