1. array_filter
使用回调函数过滤数组中是值。
该函数把输入数组中的每个键值传给回调函数。
如果回调函数返回 true,则把输入数组中的当前键值返回结果数组中。数组键名保持不变。
- array_filter(array,callbackfunction)
参数 | 描述 |
---|---|
array | 必需。规定要过滤的数组。 |
callbackfunction | 必需。规定要使用的回调函数。 |
<?php
$arr = [1,2,3,4,5,6,7,8,9,10];
$result1 = array_filter($arr,function($value)
{
return $value >5;
});
print_r($arr); 结果返回 : [6,7,8,9,10];
?>
2.array_intersect
比较两个数组的键值,并返回交集
- array_intersect(array1,array2,array3…)
参数 | 描述 |
---|---|
array1 | 必需。与其他数组进行比较的第一个数组。 |
array2 | 必需。与第一个数组进行比较的数组。 |
array3,… | 可选。与第一个数组进行比较的其他数组。 |
<?php
$arr = [1,2,3,4,5,6,7,8,9,10];
$arr2 = [5,6,7,8,11,12,23,34];
$arr3 = [34,45,46,5,6];
$result = array_intersect($arr,$arr2,$arr3); //结果 :[5,6]
?>
3.array_column
返回输入数组中某个单一列的值
- array_column(array,column_key,index_key)
参数 | 描述 |
---|---|
array | 必需。规定要使用的多维数组(记录集)。 |
column_key | 必需。需要返回值的列。可以是索引数组的列的整数索引,或者是关联数组的列的字符串键值。该参数也可以是 NULL,此时将返回整个数组(配合 index_key 参数来重置数组键的时候,非常有用)。 |
index_key | 可选。用作返回数组的索引/键的列。 |
<?php
$a = [
[
'name'=>'fantasy',
'age'=>12,
'sex'=>'man'
],
[
'name'=>'jay',
'age'=>22,
'sex'=>'women'
],
[
'name'=>'uknow',
'age'=>32,
'sex'=>'women'
]
];
$result = array_column($a,'name','age');
结果:
[
12=>'fantasy',
22 => "jay",
32 => "uknow"
]
第三个参数 作为下表使用 如果下标出现重复,则后面替换前面的值。
?>
4.array_diff
比较两个数组的键值,并返回差集
array_diff() 函数返回两个数组的差集数组。
该数组包括了所有在被比较的数组中,但是不在任何其他参数数组中的键值。
在返回的数组中,键名保持不变。
- array_diff(array1,array2,array3…)
参数 | 描述 |
---|---|
array1 | 必需。与其他数组进行比较的第一个数组。 |
array2 | 必需。与第一个数组进行比较的数组。 |
array3,… | 可选。与第一个数组进行比较的其他数组。 |
<?php
$a = [2,3,4,5,6,7,9];
$b = [111,222,333,9];
$c = [111,222,6,5];
$result = array_diff($a,$b,$c);
结果:[2,3,4,7]
?>
5.array_search
函数在数组中搜索某个键值,并返回对应的键名。
array_search() 函数与 in_array() 一样,不过 in_array()返回 true,false.在数组中查找一个键值。如果找到了该值,匹配元素的键名会被返回。如果没找到,则返回 false。
在 PHP 4.2.0 之前,函数在失败时返回 null 而不是 false。
如果第三个参数 strict 被指定为 true,则只有在数据类型和值都一致时才返回相应元素的键名。
- array_search(value,array,strict)
参数 | 描述 |
---|---|
value | 必需。规定需要搜素的键值。 |
array | 必需。规定被搜索的数组。 |
strict | 可选。如果该参数被设置为 TRUE,则函数在数组中搜索数据类型和值都一致的元素。可能的值:true false - 默认如果设置为 true,则在数组中检查给定值的类型,数字 5 和字符串 5 是不同的(参见实例 2)。 |
<?php
$a = [2,3,4,5,6,7,9];
$result = array_search(3,$a);
结果: 1
?>
6.array_unique
array_unique() 函数移除数组中的重复的值,并返回结果数组。
当几个数组元素的值相等时,只保留第一个元素,其他的元素被删除。
返回的数组中键名不变。
- array_unique(array)
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
sortingtype | 可选。规定如何比较数组元素/项目。可能的值:SORT_STRING - 默认。把项目作为字符串来比较。SORT_REGULAR - 把每一项按常规顺序排列(Standard ASCII,不改变类型)。SORT_NUMERIC - 把每一项作为数字来处理。SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。 |
<?php
$a = [
'name'=>'fantasy',
'country'=>'china',
'like'=>'china',
'age'=>12
];
$result = array_unique($a);
结果:
[
'name'=>'fantasy',
'country'=>'china',
'age'=>12
]
?>
7.array_push
array_push() 函数向第一个参数的数组尾部添加一个或多个元素(入栈),然后返回新数组的长度。
- array_push(array,value1,value2…)
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
value1 | 必需。规定要添加的值。 |
value2 | 可选。规定要添加的值。 |
<?php
$a = [
'name'=>'fantasy',
'country'=>'china',
'china',
'age'=>12,
'ccc'=>'uyt',
'll'=>13234
];
$result = array_push($a,'fantasy'); //返回当前数组长度
$a 数组中已经在追后追加新增的元素与
?>
8.array_pop
array_pop() 函数删除数组中的最后一个元素。
- array_pop(array)
参数 | 描述 |
---|---|
array | 必需。规定数组。 |
<?php
$a=[1,2,3,4,5];
array_pop($a);
结果: [1,2,3,4]
?>
9.array_shift
删除数组中的第一个元素(red),并返回被删除元素的值
<?php
$a=array("a"=>"red","b"=>"green","c"=>"blue");
echo array_shift($a);
print_r ($a);
?>
10.array_unshift
array_unshift() 函数用于向数组插入新元素。新数组的值将被插入到数组的开头。
被加上的元素作为一个整体添加,这些元素在数组中的顺序和在参数中的顺序一样。
该函数会返回数组中元素的个数。
<?php
$a=array("a"=>"red","b"=>"green");
array_unshift($a,"blue");
print_r($a); // $a = array(0=>'blue',"a"=>"red","b"=>"green");
?>