php中array_column函数简单实现方法

让我来详细地讲解一下“php中array_column函数简单实现方法”的完整攻略。

让我来详细地讲解一下“php中array_column函数简单实现方法”的完整攻略。

简介

PHP中,array_column()函数是一个非常常用的函数,它能够返回一个数组中指定键的所有值。但是,在某些情况下,可能会出现没有array_column()函数的情况,这时我们就需要自己手动实现这个函数。

实现方法

下面提供一种非常简单的实现方法。

function array_column_simple($input, $column_key, $index_key=null) {
    $result = array();
    foreach($input as $key => $value) {
        $result[$index_key ? $value[$index_key] : $key] = $value[$column_key];
    }
    return $result;
}

在上面的代码中,我们通过一个foreach循环来遍历输入数组$input,然后将指定键$column_key的值作为输出数组$result的值,其中以$input数组中的键作为输出数组$result的下标,如果有$index_key,则以$index_key指定的键的值作为输出数组$result的下标。

下面是一些使用示例:

// 示例1
$input = array(
    array(
        'id' => 1,
        'name' => 'Tom',
        'age' => 18,
    ),
    array(
        'id' => 2,
        'name' => 'Jerry',
        'age' => 20,
    ),
    array(
        'id' => 3,
        'name' => 'Spike',
        'age' => 25,
    ),
);

// 获取所有用户的姓名
$result = array_column_simple($input, 'name');
print_r($result);

// 输出:
// Array
// (
//     [0] => Tom
//     [1] => Jerry
//     [2] => Spike
// )

// 示例2
$input = array(
    array(
        'id' => 1,
        'name' => 'Tom',
        'age' => 18,
    ),
    array(
        'id' => 2,
        'name' => 'Jerry',
        'age' => 20,
    ),
    array(
        'id' => 3,
        'name' => 'Spike',
        'age' => 25,
    ),
);

// 获取所有用户的姓名,以id作为输出数组的下标
$result = array_column_simple($input, 'name', 'id');
print_r($result);

// 输出:
// Array
// (
//     [1] => Tom
//     [2] => Jerry
//     [3] => Spike
// )

以上就是使用PHP手动实现array_column()函数的简单方法。

本文标题为:php中array_column函数简单实现方法

基础教程推荐