【发布时间】:2017-10-11 15:25:45
【问题描述】:
我无法像这样转换我的分层数组:
array(
[0]=>
array(3) {
["id"]=>
int(2353011010)
["name"]=>
string(17) "LEDER ACCESSOIRES"
["order"]=>
int(15)
}
[1]=>
array(3) {
["id"]=>
int(2371475010)
["name"]=>
string(15) "SPORT AUFKLEBER"
["order"]=>
int(25)
}
[2]=>
array(4) {
["id"]=>
int(2563635010)
["name"]=>
string(17) "KENNZEICHENHALTER"
["order"]=>
int(10)
["children"]=>
array(6) {
[0]=>
array(4) {
["id"]=>
int(3854259010)
["name"]=>
string(9) "EDELSTAHL"
["order"]=>
int(92)
["children"]=>
array(2) {
[0]=>
array(3) {
["id"]=>
int(20878056010)
["name"]=>
string(5) "test1"
["order"]=>
int(1)
}
}
}
[1]=>
array(3) {
["id"]=>
int(3854260010)
["name"]=>
string(5) "CHROM"
["order"]=>
int(91)
}
}
[3]=>
array(4) {
["id"]=>
int(19754330010)
["name"]=>
string(30) "SCHALTMANSCHETTEN CARBON OPTIK"
["order"]=>
int(3)
}
}
)
变成这样的扁平的:
array(
[0]=>
array(3) {
["id"]=>
int(2353011010)
["name"]=>
string(17) "LEDER ACCESSOIRES"
["order"]=>
int(15)
}
[1]=>
array(3) {
["id"]=>
int(2371475010)
["name"]=>
string(15) "SPORT AUFKLEBER"
["order"]=>
int(25)
}
[2]=>
array(3) {
["id"]=>
int(2563635010)
["name"]=>
string(17) "KENNZEICHENHALTER"
["order"]=>
int(10)
}
[3]=>
array(4) {
["id"]=>
int(3854259010)
["name"]=>
string(9) "EDELSTAHL"
["order"]=>
int(92),
["parentId"]=> 2563635010
}
[4]=>
array(4) {
["id"]=>
int(20878056010)
["name"]=>
string(5) "test1"
["order"]=>
int(1),
["parentId"]=> 2563635010
}
[5]=>
array(4) {
["id"]=>
int(3854260010)
["name"]=>
string(5) "CHROM"
["order"]=>
int(91),
["parentId"]=> 2563635010
}
[6]=>
array(4) {
["id"]=>
int(19754330010)
["name"]=>
string(30) "SCHALTMANSCHETTEN CARBON OPTIK"
["order"]=>
int(3)
}
)
应删除子实体,并且每个子元素都应获得更高级别 id 的 parentId 实体。我需要这个解决方案来转移到数据库中。
谢谢
【问题讨论】:
-
你能分享你输入数组的 JSON 吗?
-
你可以检查这个:stackoverflow.com/questions/6785355/…你会在那里找到你的答案
-
@SahilGulati 原始数组太长,但这里有一部分编码为 JSON:{"id":2371475010,"name":"SPORT AUFKLEBER","order":25},{" id":2563635010,"name":"KENNZEICHENHALTER","order":10,"children":[{"id":3854259010,"name":"EDELSTAHL","order":92,"children":[ {"id":20878056010,"name":"test1","order":1},{"id":20878057010,"name":"test2","order":2}]},{"id" :3854260010,"name":"CHROM","order":91},{"id":3854261010,"name":"CARBON","order":90},
-
@Smalldeveloper:是的,我尝试过一些类似的解决方案,但每个结果都与我的结果结构不同
-
你应该看看这篇文章:stackoverflow.com/questions/1319903/…
标签: php multidimensional-array flatten