在 PHP 中,你可以使用 array_column()
或者 array_map()
来提取 二维数组的键,并组成 一维数组。
方法 1:使用 array_column() 提取某个 key 组成一维数组(推荐)
适用于从二维数组中提取 某个固定键,比如 id
。
$data = [ ['id' => 1, 'name' => 'Alice'], ['id' => 2, 'name' => 'Bob'], ['id' => 3, 'name' => 'Charlie'] ]; $ids = array_column($data, 'id'); print_r($ids);
🔹 输出
Array ( [0] => 1 [1] => 2 [2] => 3 )
✅ 适用场景
你只想获取
id
这一列的数据比 foreach 更快
代码简洁
方法 2:使用 array_keys()
提取 每个元素的键
如果你想获取 二维数组第一层的所有 key
:
$data = [ ['id' => 1, 'name' => 'Alice'], ['age' => 25, 'gender' => 'female'] ]; $keys = array_keys($data[0]); print_r($keys);
🔹 输出
Array ( [0] => id [1] => name )
✅ 适用场景
你要获取二维数组 每个元素的字段名
方法 3:使用 array_map() 提取 key
如果 array_column()
不能满足(如 key 不固定),可以使用 array_map()
:
php复制编辑$data = [ ['id' => 1, 'name' => 'Alice'], ['id' => 2, 'name' => 'Bob'], ['age' => 25, 'gender' => 'female'] ]; $keys = array_unique(array_merge(...array_map('array_keys', $data))); print_r($keys);
🔹 输出
Array ( [0] => id [1] => name [2] => age [3] => gender )
✅ 适用场景
你要获取 整个二维数组所有键的集合(去重)
🔥 结论
方法 | 适用场景 | 示例 |
---|---|---|
array_column() ✅(推荐) | 提取某个字段 | array_column($data, 'id') |
array_keys() | 获取第一条数据的 key | array_keys($data[0]) |
array_map() | 获取所有键(去重) | array_unique(array_merge(...array_map('array_keys', $data))) |
🚀 如果只是获取某列数据,推荐 array_column(),速度最快!
如果是获取所有键,使用 array_map() + array_keys()!
你想提取的是 某个固定 key 还是所有 key?😊
最后
以上就是每日一库最近收集整理的关于php获取一个二维数组的key组成一个一维数组的全部内容,更多相关php获取一个二维数组内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复