在 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);