所谓的数组便是一组数据的凑集, 在内存中表现为一段连续的内存地址。(堆内存中)
组数:一组数据, 可以向数组当中放入不同的各个类型的数据
名词, 观点:

索引数组 下标全部为数值类型的, 则为索引数组【标准:下标全部为整型的则为索引数组】
关联数组 下标为字符串的数组, 即为关联数组
下标 值对应的一个标识号 0, 1, 2。通过这个标识号, 我们能够找到值
键 键便是下标
值 例:$arr = array('纪静','苹果妹','董');
键值对 键和值在一起便是键值对
元素 元素便是键值对
一维数组
不论是索引, 还是关联数组当中的元素不包含数组即为一维数组
二维数组
三维数组【多维数组】
数组的声明办法:
办法一:直接创建数组
$a = array('纪静','苹果妹','董','20');
向数组中追加一个元素:
$a[] = '大豆';
办法二:隐式创建数组
$a[] = true;
$a[] = 1.2;
$a[] = null;
$a = array();
$a[] = true;
$a[] = 1.2;
$a[] = null;
数组成员的修正:
$a = array('纪静','苹果妹','董');
$a[1] = false;
//通过数组变量[下标]=值,来修正数组当中的一个值。
办法三:
利用下标符号 =>
声明索引数组
$a = array(0=>'刘迎春',1=>'季巧',2=>'纪静',3=>'董某',9=>'可惜不是你');
声明关联数组:
$a = array('love'=>'喜好','cute'=>'可爱','handsome'=>'靓仔','xianhui'=>'张雅莉');
把索引放入关联数组里面,依然叫做关联数组。它们的下标变革办法,与在自己里面的时候一样。
关联数组别外一种声明办法:
$a['test'] = '37期来日诰日上午考试';
$a['object'] = '他们要开始面向工具了';
$a['为什么要嫁给别人'] = '董';
数组的值可以利用系统函数
$data = array(
"title"=>"photoshop宝典",
"price"=>108.00,
"author"=>"李明",
"publisher"=>"清华大学出版社",
"addtime"=>time()
);
把稳:
写关联数组的时候,务必在括号里面加上引号。不然效率很低
数组储存数据 "新进后出"
无论是索引数组还是关联数组,如果键名涌现重复,则后面一个更换前面的值;
自PHP5.4起可以利用短数组定义语法, 用 [] 替代 array()。
<?php$array = array("foo" => "bar","bar" => "foo",);$array = ["foo" => "bar","bar" => "foo",];?>
splFixedArray数组
自从PHP5.3版本开始, PHP在SPL扩展中供应了一个叫做splFixedArray的数组[链接],
splFixedArray数组比较标准的PHP数组更靠近于C措辞的数组, 而且由于splFixedArray没有利用散列(Hash)存储办法, 因此效率更高。
SplFixedArray紧张是处理数组干系的紧张功能, 与普通php array不同的是, 它是固定长度的, 且以数字为键名的数组, 上风便是比普通的数组处理更快。
下面我们就写一个大略的脚本来测试一下它们两者之间的性能差别。
<?php$size = 1000000;$format = 'Time spent of %s(%d) is : %f seconds.</br>';// test of splFixedArray$spl_arr = new splFixedArray($size);$start_time = microtime(true);for ($i = 0; $i < $size; $i++) {$spl_arr[$i] = $i;}$time_spent = microtime(true) - $start_time;printf($format, "splFixedArray", $size, $time_spent);// test of PHP array$php_arr = array();$start_time = microtime(true);for ($i = 0; $i < $size; $i++) {$php_arr[$i] = $i;}$time_spent = microtime(true) - $start_time;printf($format, "PHP array", $size, $time_spent);
测试结果
Time spent of splFixedArray(1000000) is : 0.029359 seconds.
Time spent of PHP array(1000000) is : 0.047673 seconds.
在这个测试中, 我们分别向两个不同的数组中插入100万个元素, 结果PHP数组花费的韶光比splFixedArray慢0.1s~0.2s之间,
因此splFixedArray在性能上确实比PHP array要高的, 不过splFixedArray的利用是有条件限定的,
比如初始化的时候一定要设置好它的大小(size), 以及不能利用整数以外的key等。