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 中的键 的相关文章

  • 图片无法直接上传到相册

    我正在开发上传图片文件的应用程序 但图片不能直接上传到相册 上传之前始终必须经过批准 如何解决这个问题 问题 您想将这些照片添加到您的相册吗 下面的照片是从另一个应用程序上传的 您需要批准它们 你需要user photos允许直接上传到相册
  • XMLReader - 如何处理未声明的命名空间

    Merged https meta stackexchange com questions 158066 what is a merged question with 如何使用 XMLReader 读取未定义命名空间的 XML 文件 que
  • 使用 PHP 将 mysql 值转储到 JSON 文件中

    我正在尝试使用 PHP 从 mysql 数据库生成 JSON 文件 到目前为止 我有
  • Magento 1.8 - 高级搜索不起作用

    我在最新版本的 magento 中发现了一个奇怪的错误 高级搜索工具无法正常工作 我做了什么 安装 magento 的新副本 在管理页面添加了一个名为 测试 1 的产品 重新索引全部 清除所有缓存 At the frontend page
  • 声纳违规:安全性 - 使用 byte[] 时直接存储数组

    我确实遇到过以下两篇关于类似问题的帖子声纳违规 https stackoverflow com questions 11580948 sonar violation security array is stored directly and
  • PHP:__toString() 和 json_encode() 不能很好地协同工作

    我遇到了一个奇怪的问题 我不知道如何解决它 我有几个类 它们都是 JSON 对象的 PHP 实现 这是问题的说明 class A protected a public function construct this gt a array n
  • 对需要发送标头的项目进行单元测试

    我目前正在与 PHPUnit 合作 尝试在我正在编写的内容的同时开发测试 但是 我目前正在编写会话管理器 并且在这样做时遇到了问题 Session 处理类的构造函数是 private function construct if header
  • 如何读取数组中int的随机数

    我想将空格分隔的整数读取到数组中 当我按 Enter 时 它应该在任何时间点停止读取 如何实现该程序的循环 请帮助我解决这个问题 我已经尝试过下面的代码 但它不起作用 以及如何再次读回 include
  • PHP: $arr['key'] 上的 is_array 不存在 'key'

    我的一所大学似乎在我编写的代码中存在 未定义索引 错误 我的这段代码如下所示 if is array arr key 我的目的是检查 arr 是否有一个名为 key 的键 以及该键的值是否是数组本身 我应该这样做吗 if isset arr
  • 使用 shell_exec Powershell 输出到 PHP 变量

    我有一个 powershell 脚本 它输出视频文件持续时间 运行这个脚本给了我预期的结果 Folder C my path to folder File sample1 1280 720 mp4 LengthColumn 27 objSh
  • 如何从对应的数组值中获取数组键?

    您可以轻松地通过其键获取数组值 如下所示 value array key 但如果我有该值并且想要它的密钥怎么办 获得它的最佳方式是什么 你可以使用array search https www php net manual en functi
  • Yii2 - 如何在用户身份中设置动态 authTimeout?

    在这里 我扩展了UserYii2 的身份 这是我的配置 user gt identityClass gt app models UserMaster class enableAutoLogin gt false loginUrl gt au
  • 如何在 PHP 中递归删除目录及其全部内容(文件+子目录)? [复制]

    这个问题在这里已经有答案了 如何在 PHP 中删除目录及其全部内容 文件和子目录 手册页中的用户贡献部分rmdir http www php net rmdir包含一个不错的实现 function rrmdir dir if is dir
  • C# datagridview 列转入数组

    我正在用 C 构建一个程序 并在其中包含一个 datagridview 组件 datagridview 有固定数量的列 2 我想将其保存到两个单独的数组中 但行数确实发生了变化 我怎么能这样做呢 假设一个名为 dataGridView1 的
  • 使用 PHP 将子项添加到 XML 文件

    添加子项时 抛出此错误 无法添加孩子 父级不是 XML 树的永久成员 我无法解决这个问题 这是我的代码 if visited FIRST xml new SimpleXMLElement
  • Crystal Report:如何计算一个公式中的多个 IF 语句?

    背景 我正在尝试对报告的详细信息行进行一些美观的验证 我有几个名为 Assert 语句的公式 如果测试失败则返回 false 如果通过则返回 true Goal 我想创建一个存储 违反规则 的数组 然后将它们显示在行末尾的字段中 标题为 违
  • PHP strtotime返回Mysql UNIX_TIMESTAMP的不同值

    我在 stackoverflow 上搜索过帖子 发现了一些类似的帖子 但我认为这是一篇不同的帖子 我的 PHP 和 Mysql 服务器的时区全部设置为 UTC 在表中我使用时间戳字段 值为 2010 11 08 02 54 15 我使用这样
  • CKEditor TypeError:c[a] 在 CodeIgniter 中未定义

    我正在尝试在基于 codeigniter 的网站中安装 CKEditor 并且我已按照本教程进行操作 Codeigniter 教程中的 CKEditor http nukium com developpement php framework
  • SQL查询:按字符长度排序?

    是否可以按字符总数对sql数据行进行排序 e g SELECT FROM database ORDER BY data length 我想你想用这个 http dev mysql com doc refman 5 0 en string f
  • 正则表达式检查确切的字符串是否存在,包括#

    新问题正如 Asaph 在上一个问题中所建议的 正则表达式检查确切的字符串是否存在 https stackoverflow com questions 2824291 regex to check if exact string exist

随机推荐

  • 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