首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >添加到最深数组子元素

添加到最深数组子元素
EN

Stack Overflow用户
提问于 2015-08-16 14:49:13
回答 2查看 750关注 0票数 1

如何从多维数组中选择最深的子元素,以便在php中向该特定元素添加另一个元素(始终知道它是在哪里添加的,因此,如果需要来自父级的额外信息来创建新的子元素)?

例如:有这样一个数组,我想要能够添加另一个aaa,bbbb,cccc到每一个:aaa,bbb,ccc?然后是aaaaa,bbbbb,…对于每个aaaa,bbbb…依此类推(每个新元素都知道它的父元素的名称)。

代码语言:javascript
运行
AI代码解释
复制
array(
"a"=> array(
    "aa"=> array(
       "aaa",
       "bbb",
       "ccc"
       ),
    "bb"=> array(
       "aaa",
       "bbb",
       "ccc"
       ),
    "aa"=> array(
       "aaa",
       "bbb",
       "ccc"
       ),
    ),
"b"=> array(
    "aa"=> array(
       "aaa",
       "bbb",
       "ccc"
       ),
    "bb"=> array(
       "aaa",
       "bbb",
       "ccc"
       ),
    "aa"=> array(
       "aaa",
       "bbb",
       "ccc"
       ),
    ),
"c"=> array(
    "aa"=> array(
       "aaa",
       "bbb",
       "ccc"
       ),
       []
    ),
);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-16 15:17:26

您可能需要使用array_walk_recursive。它允许您在多维数组的所有叶子上进行测试。

代码语言:javascript
运行
AI代码解释
复制
function add_children(&$item, $key)
{
    //Here you can change item to something else (since we use &)
    $item = array('aaaa', 'bbbb', 'cccc');
}

array_walk_recursive($array, 'add_children');

免责声明:我还没有测试过这个代码。

票数 2
EN

Stack Overflow用户

发布于 2015-08-16 15:23:16

您可以对此使用递归。我不确定您的示例是否表示了实际数据的外观,但在这种情况下,最深的元素不是数组,因此您可以这样做:

代码语言:javascript
运行
AI代码解释
复制
<?php
$testArray = array(
  'a' => array(
    'aa' => array(
      'aaa',
      'bbb'
    )
  )
);

print_r(modifyArray($testArray));

function modifyArray($array)
{
  foreach ($array as $key => $value) {
    if (is_array($value)) {
      $array[$key] = modifyArray($value);
    } else {
      $array[$value] = $value . substr($value, 0, 1);
      unset($array[$key]);
    }
  }

  return $array;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32040686

复制
相关文章
python 数组添加数组_Python添加到数组[通俗易懂]
Python doesn’t have any specific data type as an array. We can use List that has all the characteristics of an array.
全栈程序员站长
2022/09/22
2.8K0
python 数组添加数组_Python添加到数组
Python doesn’t have any specific data type as an array. We can use List that has all the characteristics of an array.
用户7886150
2020/11/23
5.1K0
子元素滚动,父元素不滚动
这个是为了处理在bootstrap框架中的iframe 滚动条的问题,查找到的解决方案
solate
2019/07/22
4.1K0
✨从纯函数讲起,一窥最深刻的函子 Monad
本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究!
掘金安东尼
2022/10/27
4550
LeetCode 2261. 含最多 K 个可整除元素的子数组
给你一个整数数组 nums 和两个整数 k 和 p ,找出并返回满足要求的不同的子数组数,要求子数组中最多 k 个可被 p 整除的元素。
Michael阿明
2022/05/10
3260
2022-10-27:设计一个数据结构,有效地找到给定子数组的 多数元素 。 子数组的 多数元素 是在子数组中出现 thresh
int query(int left, int right, int threshold)
福大大架构师每日一题
2022/11/06
5780
2022-10-27:设计一个数据结构,有效地找到给定子数组的 多数元素 。 子数组的 多数元素 是在子数组中出现 thresh
ClickHouse 截取数组的部分元素,得到一个新的子数组: arraySlice (array, offset[, length])
offset – 数组的偏移。正值表示左侧的偏移量,负值表示右侧的缩进值。数组下标从1开始。
一个会写诗的程序员
2021/12/16
8470
2022-10-27:设计一个数据结构,有效地找到给定子数组的 多数元素 。 子数组的 多数元素 是在子数组中出现 threshold 次数或次数以上的元素。
int query(int left, int right, int threshold)
福大大架构师每日一题
2022/10/27
6740
2022-10-27:设计一个数据结构,有效地找到给定子数组的 多数元素 。 子数组的 多数元素 是在子数组中出现 threshold 次数或次数以上的元素。
PHP | 例程:取子元素、取键换值、添加数组元素、中文元素存储注意、PHP.Array2JSON
<?php $a = array( array('id' => 1, 'name' => 'a'), array('id' => 2, 'name' => 'b'), ); //取子
凌川江雪
2020/03/20
3.4K0
vue获取当前点击元素的父元素、子元素、上级元素等
<div @click = "clickfun($event)">点击</div> methods: { clickfun(e) { // e.target 是你当前点击的元素 // e.currentTarget 是你绑定事件的元素 #获得点击元素的前一个元素 e.currentTarget.previousElementSibling.innerHTML #获得点击元素的第一个子元素 e.curre
用户1349575
2022/01/26
11.4K0
查找数组元素位置
一个js练习题 题目描述 找出元素 item 在给定数组 arr 中的位置  输出描述: 如果数组中存在 item,则返回元素在数组中的位置,否则返回 -1 输入例子: indexOf([ 1, 2, 3, 4 ], 3) 输出例子: 2 代码如下: function indexOf(arr, item) { var len = arr.length,flag=0; for( var i =0; i<len;i++) { if(arr[i]==ite
用户1749219
2018/05/16
2.3K0
[::-1] 数组中元素反向
一维数组反向[::-1] import numpy as np a = np.arange(8) print ("生成0-19之间的数组",a) # 一维数组反向 a1 = a[::-1] print("将a数组反向",a1) # 生成0-19之间的数组 [0 1 2 3 4 5 6 7] # 将a数组反向 [7 6 5 4 3 2 1 0] 高维数组[::-1]没有反向效果 # 高维数组则没有反向效果 # 将数组转换为(2,4) # 将数组转换为(4,2) a_2_4 = a1.reshape(2
演化计算与人工智能
2020/08/14
7580
JavaScript数组元素排序
使用for循环遍历出数组;然后判断i号元素和i+1号大小,如果判断大于,存储小的元素,如果判断小于存储大的元素
十月梦想
2018/08/29
9620
数组中最大和的子数组
输入一个整型数组,数据元素有正数也有负数,求元素组合成连续子数组之和最大的子数组,要求时间复杂度为O(n)。
阳光岛主
2019/02/19
8340
循环移动数组元素
// 循环移动数组元素 // 一种大部分数据只移动一次的算法 // 方法: // 将数据循环移动, 可以直接计算出每个数据的最终位置, 直接移动即可 // 分析: // 这种算法基本可看做每个数据只需要移动一次 // 但是每个数据移动的位置需要计算, 算法理解起来比较难, 实现也比较复杂 // 另外,由于总是间隔较远存取数据,在数据数量较大的时候会导致比较频繁缓存命中失败 // 常用的两次翻转算法,每个数据需要swap两次(平均每个移动3次),而且很容易理解,实现也简单
全栈程序员站长
2022/09/17
1.5K0
改变数组元素
Original link 思想: 前缀和与差分。 对于 a[i] 的操作,构建差分数组 b[i] 记录被操作的区间。 利用前缀和可知所有被操作的区间,即 b[i] != 0 的区间。 代码: #include <bits/stdc++.h> using namespace std; const int N = 1e6 + 3; int a[N], b[N]; void solve(){ int n; cin >> n; for(int i = 1; i <= n; i ++){
浪漫主义狗
2023/02/21
6210
怎样从数组中删除给定元素_java数组包含某个元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169528.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
5.2K0
怎样从数组中删除给定元素_java数组包含某个元素
指针数组——元素为指针的数组
叶茂林
2023/07/28
1830
js判断是否是子元素
在while循环中,俺使用赋值运算符=进行迭代,直到不再有父节点,在本例中为el.parentNode返回null时, while循环结束。
IT工作者
2022/01/15
10.9K0
js删除数组中指定的元素_java数组删除元素
要删除数组中的指定的元素,当然肯定少不了遍历,肯定得匹配指定的index,然后用数组的splice()方法来实现,因为pop()从数组尾部删除元素,shift()从数组头部删除第一个元素,还有delete(),当然,splice()方法可以删除数组中任意位置的元素。
全栈程序员站长
2022/09/22
9.7K0
js删除数组中指定的元素_java数组删除元素

相似问题

如何找到多维数组最深子数组的中值?

21

获取最深的或元素

30

将子文档数组元素添加到mongoDB中的子文档数组元素

32

在PHP中将数组元素添加到子数组

20

AS3 -最深的XML元素

31
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档