当前位置: 首页 > article >正文

PHP 实现通用数组字段过滤函数:灵活去除或保留指定 Key

PHP 实现数组去除或保留指定字段的通用函数详解

一、文章标题

《PHP 实现通用数组字段过滤函数:灵活去除或保留指定 Key》


二、摘要

在实际开发中,我们经常需要对数组进行字段级别的操作,例如从一个数组中删除某些敏感字段(如密码、token),或者只保留特定字段用于接口返回。本文将详细解析一个通用的 PHP 函数 —— arrayExcludeReserveKeys,它支持根据传入参数灵活地 去除保留 指定的字段,并支持处理单维数组和二维数组结构。


三、函数功能概述

该函数主要实现以下功能:

  • 支持单层数组和多维数组的操作。
  • 可选择性地 去除保留 指定字段。
  • 利用 PHP 内置函数 array_diff_key()array_intersect_key() 提高执行效率。
  • 可扩展性强,适用于数据脱敏、接口响应裁剪等场景。

四、代码结构解析

1. 公共方法:arrayExcludeReserveKeys()

public function arrayExcludeReserveKeys($array, $fieldKeys = [], $isOperate = true)
参数说明:
参数名类型默认值描述
$arrayarray-待处理的原始数组
$fieldKeysarray[]需要处理的字段列表
$isOperatebooltrue操作类型:true 表示去除字段;false 表示保留字段
方法逻辑:
  • 如果是单层数组,直接调用私有方法 _arrayExcludeReserveKeys() 处理;
  • 如果是二维数组,则遍历每一项并递归调用处理;
  • 返回处理后的结果数组。

2. 私有方法:_arrayExcludeReserveKeys()

private function _arrayExcludeReserveKeys($array, $fieldKeys = [], $isOperate = true)
核心实现:
  • 去除字段:使用 array_diff_key() + array_flip(),排除指定字段;
  • 保留字段:使用 array_intersect_key() + array_flip(),仅保留指定字段。
示例:
$data = [
http://www.lryc.cn/news/2385632.html

相关文章:

  • NACOS2.3.0开启鉴权登录
  • 细胞冻存的注意事项,细胞冻存试剂有哪些品牌推荐
  • 快速上手Linux火墙管理
  • [创业之路-375]:企业战略管理案例分析 - 华为科技巨擘的崛起:重构全球数字化底座的超级生命体
  • 【paddle】常见的数学运算
  • AI基础知识(05):模型提示词、核心设计、高阶应用、效果增强
  • 分布式事务之Seata
  • 推测解码算法在 MTT GPU 的应用实践
  • Axure酒店管理系统原型
  • 写实交互数字人在AI招聘中的应用方案
  • C++中IO类(iostream、fstream和sstream)知识详解和应用
  • Spring Boot中如何对密码等敏感信息进行脱敏处理
  • React从基础入门到高级实战:React 基础入门 - JSX与组件基础
  • 房贷利率计算前端小程序
  • 在Visual Studio中进行cuda编程
  • Fastrace:Rust 中分布式追踪的现代化方案
  • Linux云计算训练营笔记day13【CentOS 7 find、vim、vimdiff、ping、wget、curl、RPM、YUM】
  • 黑马Java基础笔记-15
  • Elasticsearch简单集成java框架方式。
  • 【RAG文档切割】从基础拆分到语义分块实战指南
  • stream数据流
  • 利用 XML 外部实体注入(XXE)读取文件和探测内部网络
  • 软件设计师“排序算法”真题考点分析——求三连
  • Visual Studio 2019/2022:当前不会命中断点,还没有为该文档加载任何符号。
  • vue--ofd/pdf预览实现
  • Python 爬虫之requests 模块的应用
  • 【MySQL】CRUD
  • Spring Boot微服务架构(三):Spring Initializr创建CRM项目
  • 【笔记】PyCharm 中创建Poetry解释器
  • SDL2常用函数SDL事件处理:SDL_Event|SDL_PollEvent