分享六个比较好用的php数组Array函数

下面是关于“分享六个比较好用的php数组Array函数”的完整攻略。

下面是关于“分享六个比较好用的php数组Array函数”的完整攻略。

一、前言

PHP数组(Array)是非常强大的一种数据结构,通常用于存储一个有序的集合。在PHP中,有很多内置的数组函数可以帮助我们操作和处理数组,本文就分享一下“六个比较好用的php数组Array函数”。

二、array_merge()函数

array_merge()函数用于将两个或多个数组合并成一个数组,它的语法如下:

$result = array_merge($array1, $array2, $array3, ...);

其中,$array1、$array2、$array3为要合并的数组,$result为合并后的结果数组。下面给一个示例说明该函数的用法:

$array1 = array('a', 'b', 'c');
$array2 = array('d', 'e', 'f');
$array3 = array('g', 'h', 'i');
$result = array_merge($array1, $array2, $array3);
print_r($result);

输出结果为:

Array
(
    [0] => a
    [1] => b
    [2] => c
    [3] => d
    [4] => e
    [5] => f
    [6] => g
    [7] => h
    [8] => i
)

可以看到,$array1、$array2、$array3三个数组被合并成了一个数组$result。

三、array_column()函数

array_column()函数用于返回数组中某一列的值,它的语法如下:

$column_values = array_column($input_array, $column_key, $index_key);

其中,$input_array为输入的数组,$column_key为要返回的列键,$index_key为要用作返回数组的键的列键。下面给一个示例说明该函数的用法:

$students = array(
    array('id'=>1, 'name'=>'Tom', 'age'=>18),
    array('id'=>2, 'name'=>'Jane', 'age'=>20),
    array('id'=>3, 'name'=>'Bill', 'age'=>19),
);
$names = array_column($students, 'name');
print_r($names);

输出结果为:

Array
(
    [0] => Tom
    [1] => Jane
    [2] => Bill
)

可以看到,$students数组中的每个元素都是一个学生的信息,$names数组则是从$students数组中取出了所有学生的姓名,这就是array_column()函数的作用。

四、array_reduce()函数

array_reduce()函数用于通过用户自定义函数迭代地将数组简化为单一的值。它的语法如下:

$result = array_reduce($input_array, $callback);

其中,$input_array为要迭代的数组,$callback为用于迭代的函数。下面给一个示例说明该函数的用法:

function my_sum($carry, $item) {
    $carry += $item;
    return $carry;
}
$numbers = array(1, 2, 3, 4, 5);
$result = array_reduce($numbers, 'my_sum');
echo $result;

输出结果为:

15

可以看到,$numbers数组中的所有元素被依次传入my_sum()函数中并被计算出总和,这就是array_reduce()函数的作用。

五、array_filter()函数

array_filter()函数用于过滤数组中的元素,它的语法如下:

$new_array = array_filter($input_array, $callback);

其中,$input_array为要过滤的数组,$callback为用于过滤的函数。下面给一个示例说明该函数的用法:

function my_filter($value) {
    return ($value > 2);
}
$numbers = array(1, 2, 3, 4, 5);
$new_numbers = array_filter($numbers, 'my_filter');
print_r($new_numbers);

输出结果为:

Array
(
    [2] => 3
    [3] => 4
    [4] => 5
)

可以看到,$numbers数组中所有的小于等于2的元素被过滤掉,$new_numbers数组中只保留了大于2的元素,这就是array_filter()函数的作用。

六、array_walk()函数

array_walk()函数用于对数组中的每个元素应用用户自定义的函数,它的语法如下:

array_walk($array, $callback, $userdata);

其中,$array为要处理的数组,$callback为要应用的函数,$userdata为可选的用户数据。下面给一个示例说明该函数的用法:

function my_square(&$value, $key) {
    $value = $value * $value;
}
$numbers = array(1, 2, 3, 4, 5);
array_walk($numbers, 'my_square');
print_r($numbers);

输出结果为:

Array
(
    [0] => 1
    [1] => 4
    [2] => 9
    [3] => 16
    [4] => 25
)

可以看到,$numbers数组中的每个元素都被平方处理了,这就是array_walk()函数的作用。

七、array_keys()函数

array_keys()函数用于获取数组中所有的键,它的语法如下:

$keys = array_keys($input_array, $search_value, $strict);

其中,$input_array为要获取键的数组,$search_value为可选的值,用来查找数组中匹配的键,$strict表示是否要进行类型检查。下面给一个示例说明该函数的用法:

$students = array(
    array('id'=>1, 'name'=>'Tom', 'age'=>18),
    array('id'=>2, 'name'=>'Jane', 'age'=>20),
    array('id'=>3, 'name'=>'Bill', 'age'=>19),
);
$keys = array_keys($students[0]);
print_r($keys);

输出结果为:

Array
(
    [0] => id
    [1] => name
    [2] => age
)

可以看到,$students[0]是$students数组中的第一个元素,也就是一个学生的信息,array_keys($students[0])函数返回了该学生信息中所有的键,这就是array_keys()函数的作用。

八、总结

以上就是“分享六个比较好用的php数组Array函数”的攻略,包括array_merge()、array_column()、array_reduce()、array_filter()、array_walk()和array_keys()这六个数组函数。相信使用这些函数可以大大提高我们处理和操作数组的效率。

本文标题为:分享六个比较好用的php数组Array函数

基础教程推荐