递归替换多维数组中特定键每次出现的值

2024-05-10

我有一个数组,其数组深度可能会有所不同,例如:

array(
  'one' => array(
     array(
        'something' => 'value'
     ),
     array(
        'something2' => 'value2'
     ),
     'another' => 'anothervalue'
  ),
  'two' =>  array(
     array(
        'something' => 'value'
     ),
     array(
        'something2' => 'value2'
     ),
     'another' => 'anothervalue'
  )
)

现在,假设我想用关键的“某物”替换所有内容。

我需要使用递归函数来迭代数组吗?或者,还有更好的方法?


看一下array_walk_recursive http://php.net/manual/en/function.array-walk-recursive.php。在这种情况下它可能非常方便。

这是使用 array_walk_recursive 的示例:

$arr = array(
      'one' => array(
            array('something' => 'value'),
            array('something2' => 'value2'),
            'another' => 'anothervalue'
            ),
      'two' =>  array(
            array('something' => 'value'),
            array('something2' => 'value2'),
            'another' => 'anothervalue'
            )
       );

function update_something(&$item, $key)
{
    if($key == 'something')
        $item = 'newValue';
}

array_walk_recursive($arr, 'update_something');

如果在类内部使用,回调方法必须将对象与函数一起添加。这是通过数组实现的:

array_walk_recursive($arr, array($this, 'update_something'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

递归替换多维数组中特定键每次出现的值 的相关文章

  • 选择一组数字以达到最小总数的算法

    给定 一组数字n 1 n 2 n 3 n x 还有一个数字M 我想找到最好的组合 n a n b n c n gt M 该组合应达到达到或超过 M 所需的最小值 没有其他组合可以提供更好的结果 将在 PHP 中执行此操作 因此可以使用 PH
  • 使用 ImageMagick 和 PHP 将 PNG 转换为 JPG 并将透明背景设置为白色

    将图像从 PNG 转换为 JPEG 时 如何使用 ImageMagick 带有 php 扩展 将透明背景设置为白色 在撰写本文时 您尚未指定正在使用哪个扩展 但如果您使用命令行 则命令将是 convert image png backgro
  • laravel - 使用请求类或输入类

    在宁静的控制器中 我应该使用哪个类来获取传递的变量 member gt email Input get email or member gt email Request get email 两种选择都适合我 但有什么区别 Input get
  • 如何检测字符串中的非 ASCII 字符?

    如果我有一个 PHP 字符串 如何以有效的方式确定它是否至少包含一个非 ASCII 字符 我所说的非 ASCII 字符是指不属于该表的任何字符 http www asciitable com http www asciitable com
  • 如何关闭未关闭的 HTML 标签?

    每当我们从数据库或类似来源获取一些经过编辑的用户输入内容时 我们可能会检索仅包含开始标记但不包含结束标记的部分 这可能会妨碍网站当前的布局 有客户端或服务器端的方法来解决这个问题吗 找到了一个很好的答案 使用 PHP 5 并使用 DOMDo
  • 如何在HTML中的PHP中注释掉HTML和PHP?

    这是我想注释掉的一行代码 h1 class post title a href title a h1 一种流行的注释方法是分别注释 html 和 php 有一个更好的方法吗
  • 获取字符串中的最后一个整数

    我需要隔离包含多个整数的字符串中最新出现的整数 我怎样才能得到23代替1 for lastnum1 text 1 out of 23 lastnum1 this gt getEval eregi replace out of text 你可
  • 使用 Instagram Basic Display API 时出现“无效平台应用程序”错误

    我正在尝试使用 Instagram Basic 显示 API 但是当我发布授权代码以获取访问令牌时 我不断收到以下错误 error type OAuthException 代码 400 error message 平台应用无效 我正在遵循此
  • 在 WooCommerce 中添加到购物车之前清空购物车

    我正在使用 WP 作业管理器和 Woo Subscriptions Now 最初 我选择了一个套餐 Woo Subscription 然后我添加了所有细节 但没有提交 回到网站 所以要再次购买 我需要选择一个套餐 于是我选择了套餐并填写了详
  • 重写 URL,将 ID 替换为查询字符串中的标题

    我对 mod rewrite 很陌生 但我做了一些搜索 但找不到这个问题的答案 我有一个网站 它只有一个 PHP 页面 根据查询字符串中传递给它的 ID 提供数十页内容 我想重写 URL 以便此 ID消失并替换为从数据库中提取的页面标题 例
  • PHP print_r() 中 _r 的含义是什么?

    我见过这个答案 https stackoverflow com questions 13103410 what does r suffix mean就这样 但我不确定它对于 PHP 是否相同 如果是 可重入的含义是什么 From PHP n
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • Ebay api GetSellerList,解析响应 XML

    我正在使用 eBay 交易 api 来获取当前列出的卖家股票 我正在使用 GetSellerList 调用 我在解析 xml 时遇到问题 然后将其插入到网站商店中 这是 xml 请求
  • 在 angular2 中过滤数组

    我正在研究如何在 Angular2 中过滤数据数组 我研究过使用自定义管道 但我觉得这不是我想要的 因为它似乎更适合简单的表示转换 而不是过滤大量数据 数组排列如下 getLogs Array
  • Codeigniter - 出现 404 Not Found 错误

    我们在 godaddy 有两个托管套餐 我们的实时网站使用以下 htaccess 文件运行良好 无需在 url 中使用 index php 即可访问网站 RewriteEngine On RewriteCond REQUEST FILENA
  • 如何在 phalcon 框架中同时连接多个数据库在模型类中同时使用两个而不仅仅是一个

    在我的代码中我有两个数据库ABC and XYZ 我想在同一模型中使用两个数据库 而不是 phalcon 中的解决方案是什么 如何为此实现多个数据库连接 one
  • 如何将 Smarty 3 包含到 Laravel 4 中?

    我是 Laravel 的新手 所以仍在习惯这些概念 但是我有大约 10 年的使用 Smarty 的经验 所以我希望利用这一点 除了事实上 Blade 似乎缺乏太多我发现有用且在 Smarty 中开箱即用的功能 但无论如何除了这个问题的要点之
  • 从所有会话中注销

    我有一个注销选项 这是我的代码 session start session destroy setcookie key time 60 60 24 setcookie username time 60 60 24 我想添加另一个选项来注销所
  • 如何使用 php 将 *.xlsb 转换为数组或 *.csv

    我正在尝试转换 xlsb文件到php array or csv文件 或至少 xls 我尝试使用PHPExcel 但看起来它无法识别该文件中的内容 我注意到 你可以重命名 xlsb文件到 zip文件 然后使用命令行解压缩unzip zip 之
  • 使用 PHP 将 latin1_swedish_ci 转换为 utf8

    我有一个数据库 里面充满了类似的值 Dhaka 应该是 Dhaka 因为我在创建数据库时没有指定排序规则 现在我想修复它 我无法从最初获取数据的地方再次获取数据 所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符 我已将数据

随机推荐

  • 有没有办法使用 openpyxl 或 xlsxwriter 保护工作簿?

    我正在尝试自动化 Excel 报告 并且我希望用户不要尝试重命名或重新排序工作表 虽然我使用 xlsxwriter 保护单个单元格没有问题 但我没有看到保护工作簿本身的选项 我正在寻找 openpyxl 但教程似乎没有任何效果 编辑 我现在
  • 使用选项卡式活动中的捆绑包将值从活动传递到片段

    我是一个java文盲 但仍在尝试开发一个供我个人使用的应用程序 我从 android studio 的 Tabbed Activity 开始 除了 MainActivity 中的一个片段和一个包之外 大部分没有改变 这是我的代码 主要活动
  • 类型“A”没有实现特征“A”

    我正在尝试使用一个具有以闭包作为参数的函数的特征 然后在特征对象上使用它 trait A fn f p self p P where P Fn gt struct B a Box a impl B fn c self self a f 该代
  • C++ 在后台运行 system(),dir 路径中带有空格,+输出到文本文件

    我正在尝试使用一堆选项运行 tshark exe 并输出到 fil 见下文 然而 我真的坚持要使用的 system 命令的正确语法 我以前在这里得到过帮助 甚至已经让它与 dos for 循环一起工作 但这超出了我的能力范围 我已经尝试了各
  • php_zip 在 php 5.3.5 中不存在

    我正在使用 PHPExcel 要求之一是我需要启用 php zip 如果您需要 PHPExcel 来处理 xlsx 或 ods 文件 您将需要 邮政编码扩展名 我正在使用 PHP v5 3 5 并在我的php ini文件中 我有以下几行 e
  • 在哪里可以找到有关 IOS 日历同步的优秀教程? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在开发 iPhone 应用程序 如何将新事件与 iOS 日历同步 您可以浏览此 github 代码
  • Android NumberPicker 带字符串

    I have customised the NumberPicker to show text The output is this 当我按 确定 时 我想将 e x 鼠标添加到我的列表 文章 中 我得到的是索引值 int 它由 array
  • Font Awesome 图标未按预期在选项列表中加载(但在选择时加载)

    我有一个使用 bootstrap vue 的选项列表 如下所示 它在选择窗口中看起来不错 但打开下拉菜单时并非所有图标都显示 选择图标后 将显示 IE 螺栓显示 但选择时 图标列的代码
  • JAVA - 带有特殊字符的 LDAP 密码不起作用

    我试图在我的系统上创建一个登录屏幕 在 Active Directory 中进行查询 但是当用户的密码包含一些特殊字符 如 和 时 它不会验证 我需要加密密码才能工作吗 我该怎么做 我使用 getPassword 通过 JPasswordF
  • 目标操作 uicontrol 事件

    我一定在这里遗漏了一些明显的东西 但是 UIControl有一个方法 void addTarget id target action SEL action forControlEvents UIControlEvents controlEv
  • PHP shell_exec 使用 ssh 运行 shell 脚本

    我有一个 shell 脚本 使用 ssh 和密钥连接到另一台机器 因此它不需要用户名和密码 当我从命令行运行这个脚本时 它工作正常 但是当我从 php shell exec 运行这个脚本时 它不起作用 如果我与 PHP 建立 ssh 连接并
  • SQL查询多行变成单行

    有什么方法可以将通常返回具有相同值的多行的 SQL 查询更改为单行吗 例如 如果我现有的查询返回以下内容 ColA ColB 1 AA 1 BB 1 CC 2 AA 3 AA 我可以将查询更改为仅返回 3 行 并将 1 的第二个和第三个结果
  • 找出圆周上像素坐标的算法

    如果我知道圆心 圆半径和垂直角的像素坐标 如何找出圆圆周上一定角度的像素值 基本上 我试图在不同的时间绘制时钟的指针 1点 2点等 Let h是浮点数形式的小时 h 2 25将是 02 15 等 在 0 到 12 之间 cX cY 是中心的
  • 如何自定义BlockingQueue的阻塞行为

    我想创建一个阻塞队列 它根据自定义规则而不是队列中的项目数量来阻止生产者 例如 生产者生成一些文件并放入队列中 消费者经过一番分析后将它们转移到特定位置 对于上述场景 如果队列中的总文件大小达到某个阈值 我希望生产者等待生成新文件 如果总大
  • Firebase 查询 Or'ing whereEqualTo 以获得可能值的列表

    我见过之前针对早期版本的 Firebase 提出过这个问题 https stackoverflow com questions 26700924 query based on multiple where clauses in fireba
  • 为什么 GridView Rowupdating 事件不捕获文本框的新值?

    我正在使用网格视图 当我单击编辑按钮时 会出现更新和取消按钮 修改来自 EditItemTemplate 的文本框中的值后 新值不会显示在事件处理程序 rowupdating 中 而是获取渲染页面时出现的值 如何从这些文本框中获取新值并进一
  • 用户如何登录定义了读者角色的 couchapp?

    我通过 Couchapp 部署了我的应用程序 这意味着整个应用程序是从数据库中提供服务的 我不希望 Couchdb 数据库中的数据公开可用 因此我指定了用户在向他提供数据之前必须具有的读者角色 然而 当我去申请时 我所能得到的是 error
  • 创建后修改 ggplot 对象

    有没有首选的修改方式ggplot创建后的对象 例如 我建议我的学生将 r 对象与 pdf 文件一起保存以供以后更改 library ggplot2 graph lt ggplot mtcars aes x mpg y qsec fill c
  • 减少1000张图片的HTTP请求?

    我知道这个问题可能听起来有点疯狂 但我想也许有人会想出一个聪明的主意 假设您在一个 HTML 页面上有 1000 个缩略图 图像大小约为5 10 kb 有没有办法在单个请求中加载所有图像 以某种方式将所有图像压缩到一个文件中 或者您对该主题
  • 递归替换多维数组中特定键每次出现的值

    我有一个数组 其数组深度可能会有所不同 例如 array one gt array array something gt value array something2 gt value2 another gt anothervalue tw