1. array_column(array,column_key[,index_key]);**
返回输入数组中某个单一列的值。
$arr = array(
array(
'id' => 5698,
'name' => 'Gates',
),
array(
'id' => 4767,
'name' => 'Jobs',
)
);
$names = array_column($arr, 'last_name');
print_r(names);
/*
Array
(
[0] => Gates
[1] => Jobs
)
*/
$names = array_column($arr, 'last_name', 'id');
print_r(names);
/*
Array
(
[5698] => Gates
[4767] => Jobs
[3809] => Zuckerberg
)
*/
2. array_combine(keys,values);**
通过合并两个数组来创建一个新数组,其中的一个数组元素为键名,另一个数组元素为键值
注意:两个参数必须有相同数目的元素
$fname = array('Bill', 'Steve', 'Mark');
$age = array('60', '56', '31');
$arr = array_combine($fname, $age);
print_r($arr);
/*
Array
(
[Bill] => 60
[Steve] => 56
[Mark] => 31
)
*/
3. array_merge(array1,array2,array3...)**
函数把一个或多个数组合并为一个数组。
提示:我这里就不做相同健值是否覆盖的区分了,太难记了
$a1 = array('red', 'green');
$a2 = array('blue', 'yellow');
print_r(array_merge($a1, $a2));
/*
Array
(
[0] => red
[1] => green
[2] => blue
[3] => yellow
)
*/
4. array_diff(array1,array2,array3...);**
差集,返回第一个数组中与其他数组元素都不相同的元素(根据value值来判断,不根据key值),元素的健值保留
$a1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue', 'd' => 'yellow');
$a2 = array('e' => 'red', 'f' => 'green', 'g' => 'blue');
$result = array_diff($a1, $a2);
print_r($result);
/*
Array
(
[d] => yellow
)
*/
5. array_intersect(array1,array2,array3...);**
交集,返回第一个数组中与其他数组元素都相同的元素(根据value值来判断,不根据key值),元素的健值保留
$a1 = array('a' => 'red', 'b' => 'green', 'c' => 'blue', 'd' => 'yellow');
$a2 = array('e' => 'red', 'f' => 'green');
$a3 = array('c' => 'red', 'g' => 'blue');
$result = array_intersect($a1, $a2, $a3);
print_r($result);
/*
Array
(
[a] => red
)
*/
6. array_keys(array,value,strict),array_key_exists(key,array)**
前者获取数组的所有key值,组成一个新的数组
后者判断某值是否在数组中的key值中
7. array_values(array),in_array(search,array,type)**
前者获取数组的所有value值,组成一个新的数组
后者判断某值是否在数组中value值中,如果第三个参数设置为TRUE,则还要比较类型是否相等
8. is_array
判断是否是数组,is_object判断是否是对象
9. array_map
10. array_pop(array),array_push(array, value1, value2...)**
前者是出栈,删除最后一个元素,返回删除的那个value值
后者是入栈,添加到最后一个元素后面,返回新数组元素的个数
11. array_reverse(array, preserve) **
数组元素反转,如果第二个参数为TRUE,则保留原来的健值
12. array_slice(array, start, length, preserve)**
取出数组的部分数据,第二个参数可以为负数,第四个参数为TRUE是保留健值
13. array_sum(array)**
返回数组所有值之和
如果所有值都是整数,则返回一个整数值。如果其中有一个或多个值是浮点数,则返回浮点数。
14. array_unique(array)**
- 移除数组中的重复的值,并返回结果数组,
- 根据value值判断,不管key
- 保留第一个元素,舍弃其他相同的元素
$a = array('a' => 'red', 'b' => 'green', 'c' => 'red');
print_r(array_unique($a));
/*
Array
(
[a] => red
[b] => green
)
*/
15. array_unshift(array,value1,value2,value3...)**
在数组的开始插入元素,返回新数组元素的个数
参数中的元素将作为一个整体插入,在数组中的顺序和在参数中的顺序一样
$a = array('a' => 'red', 'b' => 'green');
array_unshift($a, 'blue', 'black');
print_r($a);
/*
Array
(
[0] => blue
[1] => black
[a] => red
[b] => green
)
*/
16. count,sizeof
$a = array(1, 3, 5);
echo count($a); //3
echo count(null); //0
echo count(false); //1
echo count(0); //1
echo count('abc'); //1
17. end
18. list
$my_array = array('Dog', 'Cat', 'Horse');
list($a, $b, $c) = $my_array;
echo $a; //Dog
echo $b; //Cat
echo $c; //Horse
19. sort,rsort,ksort,krsort
sort 根据元素的value值按照字母升序
rsort 根据元素的value值按照字母降序
ksort 根据元素的key值按照字母升序
rksort 根据元素的key值按照字母降序