数组是在一个共同的名称下分组的值的列表。
你可以用两种不同的方式定义一个空数组:
$list = [];
$list = array();
数组可以用值进行初始化:
$list = [1, 2];
$list = array(1, 2);
数组可以容纳任何类型的值:
$list = [1, 'test'];
甚至其他数组:
$list = [1, [2, 'test']];
你可以用这个符号访问数组中的元素:
$list = ['a', 'b'];
$list[0]; //'a' --the index starts at 0
$list[1]; //'b'
一旦一个数组被创建,你可以用这种方式向它追加值:
$list = ['a', 'b'];
$list[] = 'c';
/*
$list == [
"a",
"b",
"c",
]
*/
你可以用array_unshift() 来代替在数组的开头添加项:
$list = ['b', 'c'];
array_unshift($list, 'a');
/*
$list == [
"a",
"b",
"c",
]
*/
使用内置的count() 函数计算一个数组中有多少个项:
$list = ['a', 'b'];
count($list); //2
使用in_array() 内置函数检查一个数组是否包含一个项:
$list = ['a', 'b'];
in_array('b', $list); //true
如果除了确认存在之外,你还需要索引,使用array_search():
$list = ['a', 'b'];
array_search('b', $list) //1
有用的PHP数组函数
与字符串和数字一样,PHP为数组提供了很多非常有用的函数。我们已经看到了count(),in_array(),array_search(), 让我们再看一些:
is_array()检查一个变量是否是一个数组array_unique()从一个数组中删除重复的值array_search()在数组中搜索一个值并返回键值array_reverse()反转一个数组array_reduce()使用回调函数将一个数组减少到一个单一的值array_map()对数组中的每个项目应用一个回调函数。通常用于通过修改一个现有数组的值来创建一个新的数组,而不改变该数组array_filter()使用一个回调函数将一个数组过滤为一个单一的值max()获取数组中的最大值min()获取数组中包含的最小值array_rand()从数组中获取一个随机项array_count_values()计算数组中的所有数值implode()将一个数组变成一个字符串array_pop()删除数组中的最后一项,并返回其值array_shift()与 相同,但删除的是第一个项目而不是最后一个项目array_pop()sort()对一个数组进行排序rsort()对一个数组进行倒序排序array_walk()与 类似,对数组中的每一个项都做一些事情,但除此之外,它还可以改变现有数组中的值。array_map()
关联数组
到目前为止,我们已经使用了具有递增的、数字索引的数组。0, 1, 2...
你也可以使用带有命名索引(键)的数组,我们称它们为关联数组:
$list = ['first' => 'a', 'second' => 'b'];
$list['first'] //'a'
$list['second'] //'b'
我们有一些对关联数组特别有用的函数:
array_key_exists()检查一个键是否存在于数组中array_keys()从数组中获取所有的键array_values()从数组中获取所有的值asort()对一个关联数组按值进行排序arsort()按值对关联数组进行降序排序ksort()按键对关联数组进行排序krsort()按键对关联数组进行降序排序