返回列表 发新帖

array_column函数_函数

[复制链接]

14

主题

32

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2024-10-11 18:12:15  | 显示全部楼层 | 阅读模式
array_column函数是PHP中的一个内置函数,用于返回输入数组中指定的一列的值。这个函数接收三个参数:输入数组、键名或索引以及可选的输出类型。如果指定了可选的输出类型,那么结果数组将强制转换为该类型。
array_column() 是 PHP 中的一个函数,用于返回数组中指定的一列,这个函数特别适用于操作二维数组,下面详细解释这个函数的用法:

zbhju2nx4tzq1hv.jpg

zbhju2nx4tzq1hv.jpg


(图片来源网络,侵删)
语法

array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
参数
$input : 必需,规定要返回其中一列的输入数组。
$column_key : 可选,需要返回的列的数字或字符串索引,可以是 null。
$index_key : 可选,用作返回数组的索引/键的列的数字或字符串索引,可以是 null。
返回值
返回包含有指定列的数组,如果索引键也指定了,那么结果数组将使用该索引/键作为其索引/键。

zbhjvejvj0ocdz3.jpg

zbhjvejvj0ocdz3.jpg


(图片来源网络,侵删)
示例
假设我们有一个二维数组,如下:

$records = array(
    array(
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
    ),
    array(
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
    ),
    array(
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
    ),
    array(
        'id' => 5623,
        'first_name' => 'Peter',
        'last_name' => 'Doe',
    )
);
我们可以使用array_column() 函数来获取所有的first_name:

$first_names = array_column($records, 'first_name');
print_r($first_names);
这将输出:

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
    [3] => Peter
)
如果我们还想用id 作为新数组的键,我们可以这样做:

$first_names = array_column($records, 'first_name', 'id');
print_r($first_names);
这将输出:

Array
(
    [2135] => John
    [3245] => Sally
    [5342] => Jane
    [5623] => Peter
)

zbhj0umgxwg1lej.jpg

zbhj0umgxwg1lej.jpg


(图片来源网络,侵删)
array_column() 是一个在 PHP 中用于从数组中取出一列的函数,下面我将描述这个函数的用法,并以介绍的形式展示。
函数原型:

array array_column ( array $input , mixed $column_key [, mixed $index_key ] )
参数说明:
参数名 描述 是否必须
$input 一个多维数组,或者一个包含数组的数组(例如来自数据库查询的结果)。
$column_key 需要返回列的键名,可以是整数(表示数组索引),字符串(表示对象的属性),或者 null。
$index_key 用来作为返回数组的索引/键名的列的键名,可以是整数(表示数组索引),字符串(表示对象的属性),或者 null。

返回值:
返回一个包含指定列的数组。
例子:

$records = [
    ['id' => 2135, 'first_name' => 'John', 'last_name' => 'Doe'],
    ['id' => 3245, 'first_name' => 'Jane', 'last_name' => 'Doe'],
    ['id' => 5342, 'first_name' => 'Emil', 'last_name' => 'Zatopek']
];
$first_names = array_column($records, 'first_name');
$last_names_by_id = array_column($records, 'last_name', 'id');
在上面的例子中:
$first_names 将是['John', 'Jane', 'Emil']。
$last_names_by_id 将是['2135' => 'Doe', '3245' => 'Doe', '5342' => 'Zatopek']。
注意:array_column() 函数在 PHP 5.5.0 版本以上可用,如果你使用的是更早的版本,你需要自己实现这个功能或者使用 polyfill。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表