You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在PHP(Laravel)中如何删除二维数组中子数组的指定键

#Laravel 框架实现
Laravel 提供了稳定的数组/集合处理工具,两种常用实现方式:

  1. 使用 Illuminate\Support\Arr 辅助类
use Illuminate\Support\Arr;

// $originalArray 为你的原始数组
$processedArray = array_map(function ($item) {
    // except 方法直接排除指定键
    return Arr::except($item, ['data_status', 'uuid_status']);
}, $originalArray);
  1. 使用 Collection 集合流式处理
$processedArray = collect($originalArray)
    ->map(function ($item) {
        return collect($item)->except(['data_status', 'uuid_status'])->toArray();
    })
    ->toArray();

// PHP 7.4+ 可以用箭头函数简化写法
$processedArray = collect($originalArray)
    ->map(fn($item) => collect($item)->except(['data_status', 'uuid_status'])->toArray())
    ->toArray();

如果你处理的是 Eloquent 查询返回的集合,还可以直接在查询阶段用 select 方法指定需要返回的字段,提前过滤不需要的字段,性能更好。

原生 PHP 实现

不需要依赖框架的场景下,两种常用实现方式:

  1. 遍历 + unset (最直观,性能最优)
$processedArray = [];
foreach ($originalArray as $item) {
    // 直接删除不需要的两个键
    unset($item['data_status'], $item['uuid_status']);
    $processedArray[] = $item;
}
  1. 函数式写法:array_map + array_diff_key
// 提前翻转要排除的键,作为数组差集的对比基准
$excludeKeys = array_flip(['data_status', 'uuid_status']);
$processedArray = array_map(function ($item) use ($excludeKeys) {
    return array_diff_key($item, $excludeKeys);
}, $originalArray);

内容的提问来源于stack exchange,提问作者luix10

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 16:18:01