【PHP】二维数组转一维数组
2023-12-30 17:35:11
在 PHP 中,如果你想将一个二维数组转换为一维数组,你可以使用几种不同的方法。以下是一些常见的方法:
1.使用 array_column() 函数
$data = [
['id' => 1, 'ci' => 'A'],
['id' => 2, 'ci' => 'B'],
['id' => 3, 'ci' => 'C'],
['id' => 4, 'ci' => 'D'],
];
// 使用 array_column() 提取 'ci' 键
$flattenedArray = array_column($data, 'ci');
print_r($flattenedArray);
array_column() 用于提取数组中的列,最为直接
2.使用 array_map() 函数:
$data = [
['id' => 1, 'ci' => 'A'],
['id' => 2, 'ci' => 'B'],
['id' => 3, 'ci' => 'C'],
['id' => 4, 'ci' => 'D'],
];
// 使用 array_map() 遍历数组并返回 'ci' 键的值
$flattenedArray = array_map(function($item) {
return $item['ci'];
}, $data);
print_r($flattenedArray);
array_map() 用于对数组中的每个元素应用回调函数,返回的是由回调函数的返回值组成的新数组。
3.使用 foreach 循环手动合并:
$data = [
['id' => 1, 'ci' => 'A'],
['id' => 2, 'ci' => 'B'],
['id' => 3, 'ci' => 'C'],
['id' => 4, 'ci' => 'D'],
];
$flattenedArray = [];
foreach ($data as $item) {
$flattenedArray[] = $item['ci'];
}
print_r($flattenedArray);
以上任何一种方法都可以将二维数组转换为一维数组,具体使用哪种方法取决于你的具体需求和偏好。
4.特殊情况,如果二维里面包含数组,提取数组
$data = [
['id' => 1, 'ci' => ['A'=>'A']],
['id' => 2, 'ci' => ['B'=>'B']],
['id' => 3, 'ci' => ['C'=>'c']],
['id' => 4, 'ci' => ['D'=>'d']],
];
// 使用 array_map() 来提取 'ci' 键,并直接合并成新数组
$newArray = call_user_func_array('array_merge', array_map(function($item) {
return $item['ci'];
}, $data));
print_r($newArray);
5.特殊情况的方法2
$data = [
['id' => 1, 'ci' => ['A'=>'A']],
['id' => 2, 'ci' => ['B'=>'B']],
['id' => 3, 'ci' => ['C'=>'c']],
['id' => 4, 'ci' => ['D'=>'d']],
];
// 使用 array_map() 来提取 'ci' 键,并直接合并成新数组
$newArray = call_user_func_array('array_merge', array_column($data, 'ci'));
print_r($newArray);
文章来源:https://blog.csdn.net/q8688/article/details/135307060
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!