要删除二维数组中的指定列,可以使用array_map()函数和array_column()函数来实现。
首先,使用array_column()函数获取二维数组中指定列的值,并将其保存到一个新的数组中。 然后,使用array_map()函数将原始二维数组中的每一行与新数组中的对应元素进行比较,如果相同,则删除该列。 最后,使用array_map()函数将结果数组重新组合成二维数组。
以下是一个示例代码:
<?php
// 原始二维数组
$array = [
['name' => 'John', 'age' => 25, 'city' => 'New York'],
['name' => 'Jane', 'age' => 30, 'city' => 'Los Angeles'],
['name' => 'Tom', 'age' => 35, 'city' => 'Chicago']
];
// 要删除的列
$columnsToDelete = ['age', 'city'];
// 获取指定列的值
$columnValues = array_map(function($row) use ($columnsToDelete) {
return array_intersect_key($row, array_flip($columnsToDelete));
}, $array);
// 删除指定列
$result = array_map(function($row) use ($columnValues) {
return array_diff_key($row, $columnValues);
}, $array);
// 输出结果
print_r($result);
?>
运行以上代码,将会输出以下结果:
Array
(
[0] => Array
(
[name] => John
)
[1] => Array
(
[name] => Jane
)
[2] => Array
(
[name] => Tom
)
)
在这个示例中,我们删除了原始二维数组中的'age'和'city'列,并输出了结果数组。
上一篇:php修改一组数组
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站