str_replace 多维数组 PHP 中的键

2024-03-20

我有一个多维数组,如下所示:

Array (
    [results] => Array (
        [0] => Array (
            [object_id] => 13
            [id] => 13
            [idno] => e00110-o00005-2010-PROG
            [display_label] => La Bohème / PUCCINI - 2010
            [ca_objects.description] => Libreto de Luigi Illica y Giuseppe Giacosa basado en Escenas de la vida bohemia de Henri Murger Nueva producción – Teatro Colón
            [ca_objects.type_id] => Programa de mano
        )
        //more data here

我正在尝试循环数组并使用 str_replace 将“object_id”键替换为“new_id”。

$str="object_id";//The string to search for

$rep="new_id";//The replacement string


foreach ($array as $value) {
   foreach ($value as $key2 => $value2) {
     foreach ($value2 as $key3 => $value3) {
      str_replace($str,$rep,$key3);
       echo $key3." : ".$value3."<br>"; //It gets printed with no changes
     }
    }
  }

上面的代码不起作用,你能看出我做错了什么吗? 我尝试使用字符串而不是变量,但也不起作用。 提前致谢。


...如果你真的想使用str_replace():

$array['results'] = array_map(function($item){
  $keys = implode(',', array_keys($item));
  $keys = str_replace('object_id', 'new_id', $keys);
  return array_combine(explode(',', $keys), array_values($item));

}, $array['results']);

另一种方法 - 创建一个新数组,然后迭代旧数组并将其中的值分配给新数组,同时更改所需的键:

$array['results'] = array_map(function($item){
  $item['new_id'] = $item['object_id'];      
  unset($item['object_id']);
  return $item;

}, $array['results']);

(如果重要的话,这将重新排序数组)

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

str_replace 多维数组 PHP 中的键 的相关文章

  • 如何使用 phpunit 运行单个测试方法?

    我正在努力运行一个名为testSaveAndDrop在文件中escalation EscalationGroupTest php with phpunit 我尝试了以下组合 phpunit EscalationGroupTest escal
  • PHP 会话不适用于游戏

    我正在尝试模仿一款名为 SKUNK 用骰子玩 的游戏来完成一项作业 我无法让会话正常工作 这是我第一次使用 PHP 我还被告知无需会议即可完成 这是我的代码
  • FPDI/FPDF:水印和打印多页

    我修改了这个堆栈问题 当用户尝试下载文件时在 pdf 文件上应用水印 https stackoverflow com questions 3983432 applying watermarks on pdf files when users
  • 如何在响应ajax codeigniter后停止执行其他控制器

    我想知道如何在响应输出 json 数据后停止执行函数和涉及的其他控制器 就我这里的情况而言 我只是打电话test 函数于dashboard控制器 In dashboard构造函数将执行MY Login library In MY Login
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • 如何使用 php 下载/打印页面的特定部分

    我有一个 HTML 页面如下 Lorem Ipsum is simply dummy text of the printing and typesetting industry Lorem Ipsum has been the indust
  • 蛋糕控制台 2.2.1:烘焙错误

    运行 MAMP 的 OSX 机器 CakePHP 2 2 1 已正确安装和配置 这意味着当我浏览到 Index php 文件时 所有绿色条都显示出来 我已经完成了博客教程 并且正在开发我的第二个应用程序 其中脚手架已启动并运行 现在我第一次
  • 使用 preg_replace 仅替换第一个匹配项

    我有一个结构类似于以下的字符串 aba aaa cba sbd dga gad aaa cbz 该字符串每次都可能有点不同 因为它来自外部源 我只想替换第一次出现的 aaa 但其他人则不然 是否可以 可选的第四个参数预替换 http php
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • 在 PHP 中撤销 Google 访问令牌

    正如标题所示 我想以编程方式撤销授予的访问令牌 即在 PHP 中 我发现这个他们的网站 https developers google com identity protocols OAuth2WebServer tokenrevoke 但
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • PHP 与 MySQL 查询性能( if 、 函数 )

    我只看到这个artice http www onextrapixel com 2010 06 23 mysql has functions part 5 php vs mysql performance 我需要知道在这种情况下什么是最好的表
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • 如果循环中内存超出,我可以在 for 循环中抛出异常吗?

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何处理 foreach 循环中发生
  • 表单计算器脚本基本价格未加载 OnLoad

    我的表单中有一个计算器来计算我的下拉选项选择 function select calculate on change calc input type checkbox calculate on click calc function cal
  • Doctrine EntityManager 清除嵌套实体中的方法

    我想用学说批量插入处理 http doctrine orm readthedocs org en latest reference batch processing html为了优化大量实体的插入 问题出在 Clear 方法上 它表示此方法
  • Javascript 数组到 VBScript

    我有一个使用 Javascript 构建的对象数组 我需要使用 VBScript 读取它 如下例所示 我找不到在 VbScript 代码中循环遍历数组的方法myArray object 这个例子是我的问题的简化 我无法更改页面的默认语言 这
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • Repa 数组上的并行 mapM

    在我最近的work https github com bgamari mixture model with Gibbs sampling 我一直在充分利用RVar http hackage haskell org packages arch

随机推荐

  • PHP – setcookie() 不起作用

    我有这个页面 它设置一个 cookie 并在您选中复选框时回显一个字符串 字符串打印正确 但 cookie 从未被设置 我不知道为什么
  • 如何启用Windows 10“容器”功能?

    使用最新的 Windows 10 Fast Ring build 14316 在 VMware 虚拟机内 我试图使桌面应用程序转换器 https msdn microsoft com windows uwp porting desktop
  • 编码/gob 和编码/json 之间的区别

    我正在用 Go 编写一个应用程序 它使用编码 gob 在节点之间通过 UDP 发送结构和切片 它工作正常 但我注意到encoding json也有类似的API 搜索了一下 发现了这个信息 https golang org pkg encod
  • 使用 Spring Security (Spring Boot 3.0.2) 时如何访问 H2 控制台?

    所以我正在尝试学习 Spring 因为今年晚些时候我的一个项目将需要它 项目使用 Spring Boot 3 0 2 和 Java 17 我还使用 Spring Security 依赖项 这意味着我需要在不使用令牌的情况下授权某些 URL
  • 使用 X509certificate2 进行 RSA 加密和解密

    所以 我接下来需要的是 创建用于开发的证书 为客户端获取一份证书 为服务器获取一份证书 通过API检索客户端编码的密码并在服务器上解码 现在 我成功创建了以下证书这个链接 https blog jayway com 2014 09 03 c
  • 禁用屏幕键盘

    我正在为嵌入式应用程序开发 Windows 应用商店应用程序 其中唯一的输入设备是小型触摸屏 因此 我正在开发自己的数字和文本输入控件 它们与应用程序的视觉外观相匹配 并且在小屏幕上工作得更好 当文本框获得焦点时 是否可以防止 Window
  • num2cell() 的 python/numpy 等价物是什么?

    我很不幸能够通过 numpy 数组将一些 MATLAB 代码转换为 Python 有没有共识num2cell 就我个人而言 我认为这违背了 Python numpy 语法 这个想法是这样的 Using num2cell 你最终会得到一个看起
  • Spring中指定默认属性值为NULL

    我想在 Spring XML 配置文件中定义默认属性值 我希望这个默认值是null 像这样的东西
  • ap 在 Haskell 中如何以及为何被定义为 liftM2 id

    在试图更好地理解 Applicative 的同时 我查看了 的定义 它往往被定义为 ap 而 ap 又被定义为 ap Monad m gt m a gt b gt m a gt m b ap liftM2 id 查看 liftM2 和 id
  • 如何在提交前更改隐藏输入字段的值

    我有一个 Feedburner 订阅表格 其中有两个按钮 一个用于每日新闻 一个用于每周新闻 问题是如何更改带有名称的隐藏输入字段的值 uri 提交之前 我的解决方案不起作用 这就是我尝试使用的
  • 如何在vi中从中间开始缩进多行?

    例如 要转换这个 example array First gt This Second gt is Third gt an Fourth gt example Fifth gt 进入这个 example array First gt Thi
  • 按数据属性对列表进行排序

    我有一个人员列表 其职称按名字排序 如下所示 ul li a href span class list name John Smith span a span class list desc Professor span li li a h
  • 在 iOS 模拟器中运行 React Native 应用程序时找不到 UMModuleRegistryAdapter.h

    我有一个简单的 React Native 应用程序 我一直在 Android 上测试它 现在想在 iOS 上测试它 它使用 React 导航 I ran npm run ios但我收到以下错误 info In file included f
  • 如何找到终结器队列挂起的原因?

    我有一个应用程序从 go 开始就经历了缓慢的内存泄漏 Using ANTS 内存分析器我可以看到所有泄漏的内存都由终结器队列的 GC 根保存 我怀疑可能发生的情况是终结器死锁 等待锁变得可用 我们的类都没有实现显式终结器 我们通常避免使用它
  • 如何使用 VisualVM 查找内存泄漏

    我怀疑我们的 ActiveMQ 连接桥存在重大内存泄漏 我们看到了典型的内存泄漏模式 应用程序加载良好 如果长时间运行或在短时间内一遍又一遍地重新启动 则速度会变慢 我查找了查找 Java 内存泄漏的现代最佳实践 许多开发人员似乎正在放弃
  • Log4Net 部署时不记录日志

    我正在使用 log4net 来记录我的应用程序 这是一个 WPF 应用程序 日志记录在调试模式下运行良好 但不适用于我部署的版本 该应用程序安装在 C Program Files x86 MyApp 中 我使用 InnoSetup 创建安装
  • Python 中的“类型错误:无法实例化抽象类”

    我有一个模块fi定义了以下类 class Asset metaclass abc ABCMeta pass abc abstractmethod def get price self dt datetime date kwargs Noth
  • Python 中的 COM/ActiveX 可以做什么? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我读到可以使用 COM ActiveX 在 Crystal Reports 中自动生成月度报告 我不太了解这是什么或者你可以用它做什么
  • Bootstrap 在 3 列上通过右拉、左拉改变 div 顺序

    我一整天都在研究这个问题 但没有找到解决方案 我在一个容器中一行有 3 列 1 右侧内容 右拉 2 导航 左拉 三 主要内容 它在大屏幕上的外观 Menu Content Right Content 在较小的屏幕上它应该是什么样子 Menu
  • str_replace 多维数组 PHP 中的键

    我有一个多维数组 如下所示 Array results gt Array 0 gt Array object id gt 13 id gt 13 idno gt e00110 o00005 2010 PROG display label g