我有一个像这样的清单:
array(
array(id=>100, parentid=>0, name=>'a'),
array(id=>101, parentid=>100, name=>'a'),
array(id=>102, parentid=>101, name=>'a'),
array(id=>103, parentid=>101, name=>'a'),
)
但是更大了,所以我需要一种有效的方法来使它变成像这样的树:
array(
id=>100, parentid=>0, name=>'a', children=>array(
id=>101, parentid=>100, name=>'a', children=>array(
id=>102, parentid=>101, name=>'a',
id=>103, parentid=>101, name=>'a',
)
)
)
我不能使用诸如嵌套集之类的东西,也不能使用诸如becoas之类的东西,因为我可以在数据库中添加左右值。有任何想法吗?
哦,这就是我解决的方法:
$arr = array(
array('id'=>100, 'parentid'=>0, 'name'=>'a'),
array('id'=>101, 'parentid'=>100, 'name'=>'a'),
array('id'=>102, 'parentid'=>101, 'name'=>'a'),
array('id'=>103, 'parentid'=>101, 'name'=>'a'),
);
$new = array();
foreach ($arr as $a){
$new[$a['parentid']][] = $a;
}
$tree = createTree($new, array($arr[0]));
print_r($tree);
function createTree(&$list, $parent){
$tree = array();
foreach ($parent as $k=>$l){
if(isset($list[$l['id']])){
$l['children'] = createTree($list, $list[$l['id']]);
}
$tree[] = $l;
}
return $tree;
}
问题内容: 我想要创建一个arraylist数组,如下所示: 但是它没有编译。我怎样才能做到这一点? 问题答案: 根据Oracle文档: “你不能创建参数化类型的数组” 相反,你可以执行以下操作: 正如汤姆·霍廷(Tom Hawting)的建议-定位线一样,最好这样做:
问题内容: 我正在尝试在表中插入数组,但需要将列表转换为SQL Array类型。我正在使用该方法,但出现异常。 我需要传递一个类型名称,但是我不知道这是什么,而且我总是会遇到异常。该数组来自VARCHAR。 我该如何解决插入数组? 代码 堆栈跟踪 问题答案: 使用“ varchar”而不是“ VARCHAR”。参见http://grepcode.com/file/repo1.maven.org/m
问题内容: 我如何用对象填充ArrayList,而内部的每个对象都不相同? 问题答案:
问题内容: 这个问题已经在这里有了答案 : 9年前关闭。 我有两个清单: 我需要从这些列表中创建一个元组列表,如下所示: 我尝试这样做: 但导致: 即x中每个元素与y中每个元素的元组列表…什么是我想做的正确方法?谢谢… 编辑: 在编辑之前提到的其他两个重复是我的错,我将其缩进另一个for循环中是错误的… 问题答案: 使用内置函数: 在Python 3中: 在Python 2中:
我不是本地JAVA程序员。我正在为web服务API创建一个客户端。API基本上需要一个数组参数。 我正在解析一个XML文件,创建记录,然后使用此API进行批量插入。 问题是这个API一次只能插入200条记录,这意味着我的数组在调用时只能有200条或更少的记录。 由于我不知道预先有多少条记录,所以我将我的记录存储在ArrayList中,然后使用将其转换为Array。ToArray() 现在,由于AP
我目前正在尝试创建一个庞大的置换值表。 “loc”内的值是置换的。“loc”中的每个值都来自不同的总体(“pop1”、“pop2”、“pop3”)。到目前为止,我已经能够形成一个庞大的元组列表,它结合了“loc”内的每个重排和“loc”之间的每个重排。 我一直试图将它放入熊猫的数据帧中,但是我在遍历元组列表以放入数据帧时遇到了困难。:( 理想格式: 我的问题是将元组列表放入数据帧中。我需要获得“l