数组函数- PHP开发手册

1、array_chunk:将一个数组分割成多个

array array_chunk ( array $array , int $size [, bool $preserve_keys= false ] )
将一个数组分割为多个数组,其中每个数组的单元数目由size决定。最后一个数组的单元数目可能会少于size个。
参数:
array:需要操作的数组。
size:每个数组的单元数目。
preserve_keys:设为TRUE,可以使PHP保留输入数组中原来的键名。如果指定了False,那每个结果数组将用从零开始的新数字索引,默认值是false。
返回值:得到的数组是一个多维数组中的单元,索引从零开始,每一维脑喊了size个元素。
栗子:

$input_array = array('a', 'b', 'c', 'd', 'e');
dd(array_chunk($input_array, 2));

dd(array_chunk($input_array, 2, true));结果同上
2.array_column:返回数组中指定的一列

array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )
array_column()返回数组中键值为column_key的列,如果指定了可选参数input_key,那么数组中的这一列的值将作为返回数组中对应值的键。

3.array_combine:创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值。

array array_combine ( array $keys , array $values )
返回一个array,用来自keys数组的值作为键名,来自values数组的值作为相应的值。
栗子:

$a = array('green', 'red', 'yellow');
$b = array('avocado', 'apple', 'banana');
$c = array_combine($a, $b);
dd($c);
4.array_diff:计算数组的差集

array array_diff ( array $array1 , array $array2 [, array $... ] )
参数:
array1:要被对比的数组
array2:和这个数组进行比较
… :更多相比较的数组
返回值:返回一个数组,该数组包含所有在array1中但是不在其他参数数组中的值。注意键名保留不变。

5.array_key_exists:检查数组中是否有指定的键名或索引

bool array_key_exists ( mixed $key , array $array )
参数:
key:要检查的键
array:一个数组,包含待检查的键
返回值:成功是true,失败时false
####### 6.array_map:为数组的每个元素应用回调函数
array array_map ( callable $callback , array $array1 [, array $... ] )
参数:
callback
回调函数,应用到每个数组里的每个元素。
array1
数组,遍历运行 callback 函数。

数组列表,每个都遍历运行 callback 函数。

(1)、array_map() 函数将用户自定义函数作用到数组中的每个值上,并返回用户自定义函数作用后的带有新值的数组,若函数作用后无返回值,则对应的新值数组中为空。
(2)、回调函数接受的参数数目应该和传递给 array_map() 函数的数组数目一致。

6.array_merge:合并一个或多个数组。

array array_merge ( array $array1 [, array $... ] )
array_merge()将一个或者多个数组的单元合并起来,一个数组中的值附加到前一个数组的前面。返回作为结果的数组。
参数:
array1:要合并的第一个数组。
…:要合并的数组列表。

7、array_pop:弹出并返回数组array的最后一个单元,并将数组array的长度减一。

mixed array_pop(array $array)
返回值:
返回array的最后一个值。如果array是空(如果不是一个数组),将会返回NUll。
栗子:经过此操作后,$stack 将只有 3 个单元。并且 rasberry 将被赋给 $fruit。

$stack = array("orange", "banana", "apple", "raspberry");
$fruit = array_pop($stack);
print_r($stack);
dd($fruit);
8.array_push:将一个或多个单个单元压入数组尾部

int array_push ( array &$array , mixed $value1 [, mixed $... ] )
array:输入数组
value1:要压入array末尾的第一个值。
返回值:返回处理之后的数组的元素个数。
栗子:

$base = array("orange", "banana", "apple", "raspberry");
$replacements = array(0 => "pineapple", 4 => "cherry");
$replacements2 = array(0 => "grape");

$basket = array_replace($base, $replacements, $replacements2);
print_r($basket);

$base数组中存在索引为0的数据,因此第一个orange不会被替换,返回结果:
Array ( [0] => grape [1] => banana [2] => apple [3] => raspberry [4] => cherry )

9、array_shift:将数组开头的单元移出数组

mixed array_shift (array &$array)
array_shift()将第一个单元移出并作为结果返回,将array的长度减一并将其他所有的单元向前移动一位。所有的数字键名将改为从零开始计数,文字键名不变。
返回值:
返回移除的值,如果array为空或不是一个数组则返回NULL

10、array_slice:从数组中取出一段
array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

参数:
array
输入的数组。
offset
如果offset非负,则序列将从array中的此偏移量开始。如果offset为负,则序列将从array中距离末端这么远的地方开始。
length
如果给出了length并且为正,则序列中将具有这么多的单元。如果给出了length并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从offset开始一直到 array 的末端。
preserve_keys
注意 array_slice() 默认会重新排序并重置数组的数字索引。你可以通过将preserve_keys设为TRUE来改变此行为。

11、array_splice:去除数组中的某一部分并用其它值代替。

array array_splice ( array &$input , int $offset [, int $length = count($input) [, mixed $replacement = array() ]] )
参数:
input:输入的数组
offset:如果offset为正,则从input数组中指定的偏移量开始移除。如果offset为负,则从input末尾倒数指定的偏移量开始移除。
lenght:如果省略length,则移除数组中从offset到结尾的那一部分。如果指定了length并且为正值,则移除这么多单元。如果指定了length并且为负值,则移除从offset到数组末尾倒数length为止中间所有的单元,如果设置了length为零,不会移除单元。小窍门:当给出了replacement时要移除从offset到数组末尾所有单元时,用count( i n p u t l e n g t h r e p l a c e m e n t r e p l a c e m e n t o f f s e t l e n g t h r e p l a c e m e n t o f f s e t r e p l a c e m e n t a r r a y N U L L i n p u t / / input)作为length。 replacement:如果给出了replacement数组,则被移除的单元被此数组中的单元替代。 如果offset和length的组合结果是不会移除任何值,则replacement数组中的单元将被插入到offset指定的位置。注意替换数组中的键名不保留。 如果用来替换replacement只有一个单元,那么不需要给它加上array(),除非该单元本身就是一个数组,一个对象或者NULL。 返回值: 返回一个包含有 被移除单元的数组。 栗子:(用同样的方式修改input) // 添加两个新元素到 input
array_push($input,$x,$y);
array_splice($input,count($input),0,array($x,$y));
// 移除 i n p u t a r r a y p o p ( input中的最后一个元素 ``array_pop( input);array_splice($input,-1);//移除 $input中的第一个元素array_shift( i n p u t ) ; a r r a y s p l i c e ( input);`` ``array_splice( input,0,1);//在$input的开头插入一个元素array_unshift( i n p u t , input, x, y ) ; a r r a y s p l i c e ( y);`` ``array_splice( input,0,0,array( x , x, y));//在$input的索引$x处替换值 i n p u t [ input[ x] = y ; a r r a y s p l i c e ( y;`` ``array_splice( input, x , 1 , x,1, y);``

12、array_sum:对数组中的所有值求和

number array_sum(array $array)
array_sum()将数组中的所有值相加,并返回结果。

13、array_unique:移除数组中重复的值

array array_unique( array $array [ , int $sort_flags= SORT_STRING ] )
array_unique()接受array作为输入并返回没有重复值的新数组。
键名保留不变,array_unique()先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。这并不意味着在未排序的array中同一个值的第一个出现的键名会被保留。

14、array_unshift:在数组的开头插入一个或多个单元

int array_unshift ( array &$array , mixed $value1 [, mixed $... ] )
array_unshift() 将传入的单元插入到array数组的开头。单位是作为整体插入的,因此被传入单元将保持同样的顺序。所有的数值键值名将修改为从零开始计数,所有的文字键名保持不变。

15、array_values:返回数组中所有的值

array array_value(array $array)
array_values() 返回input数组中所有的值并给其建立数字索引
参数:array:数组。
返回值:返回含有所有值的索引数组。
栗子:
$array = array("size" => "XL", "color" => "gold");
print_r(array_values($array));
结果:

Array
(
    [0] => XL
    [1] => gold
)
16、compact:建立一个数组,包括变量名和他们的值

array compact( mixed $varname1 [, mixed $... ])
创建一个包含变量的数组
对于每个参数,compact在当前符号表中查找改变量并将它添加到输出的数组中,变量名成为键名而变量的内容成为该键的值。
compact() 函数创建一个由参数所带变量组成的数组。如果参数中存在数组,该数组中变量的值也会被获取。
本函数返回的数组是一个关联数组,键名为函数的参数,键值为参数中变量的值。
与extract()相反。
栗子1:

$firstname = "Bill";
$lastname = "Gates";
$age = "60";
$result = compact("firstname", "lastname", "age");
print_r($result);

结果:Array ( [firstname] => Bill [lastname] => Gates [age] => 60 )
栗子2:使用不匹配的字符串以及变量名数组

$firstname = "Bill";
$lastname = "Gates";
$age = "60";
$name = array("firstname", "lastname");
$result = compact($name, "location", "age");
print_r($result);

结果:Array ( [firstname] => Bill [lastname] => Gates [age] => 60 )

17、count:计算数组中的单元数目,或对象中的属性个数

int count(mixed $array_or_countable [, int $mode =COUNT_NORMAL])
统计出数组里的所有元素的数量,或者是对象里的东西。

猜你喜欢

转载自blog.csdn.net/weixin_44265867/article/details/85341574