假设我有一个记录数组,用一些ID键入,我使用array_column()从每个记录中提取一个数据。
$records = array(
1234 => array(
'first_name' => 'John',
'last_name' => 'Doe',
),
4567 => array(
'first_name' => 'Sally',
'last_name' => 'Smith',
),
);
array_columns($ input,'first_name')的结果是一个数字索引数组。有没有办法从输入数组中保留键?
答案 0 :(得分:1)
array_map(function ($r) { return $r['first_name']; }, $records)
可以(根据您的具体情况)。
或多或少与此等效(PHP 7 +):
(function () use ($records) {
$result = [];
foreach ($records as $key => $r) {
$result[$key] = $r['first_name'];
}
return $result;
)()
答案 1 :(得分:0)
当数据数组中的id也可用时,您可以使用array_column
的第三个参数。
例如:
array_column($records, 'first_name', 'id');