Php XML到数组-基于一个子元素对数组结果进行分组
我有一个转换成数组的XML,没有问题,原始XML看起来像这样Php XML到数组-基于一个子元素对数组结果进行分组,php,arrays,grouping,sorting,Php,Arrays,Grouping,Sorting,我有一个转换成数组的XML,没有问题,原始XML看起来像这样 <somedata>data</somedata> <somedata2>data2</somedata2> <level1> <listings> <element> <title>AAA</title> <description>DescriptionA</d
<somedata>data</somedata>
<somedata2>data2</somedata2>
<level1>
<listings>
<element>
<title>AAA</title>
<description>DescriptionA</description>
<moredata>
<adate>2012/12/12</adate>
</moredata>
</element>
<element>
<title>AAA</title>
<description>DescriptionA</description>
<moredata>
<adate>2013/10/12</adate>
</moredata>
</element>
<element>
<title>BBB</title>
<description>DescriptionB</description>
<moredata>
<adate>2012/09/01</adate>
</moredata>
</element>
</listings>
<level1>
Title: AAA
Description: DescriptionA
Date 1: 2012/12/12
Date 2: 2013/10/12
Title: BBB
Description: DescriptionB
Date 1: 2012/09/01
注意,我将AAA分组,重复并在同一结果中列出了两个日期
在PHP中,我曾认真考虑过如何保存到mysql,然后再将它们拉回来,但这只是一个糟糕的补丁
希望有人能帮忙
关于这是一个粗略的概念,我会怎么做 必须将xml解析为数组,然后才能自定义html输出
$result = array();
foreach($xml->element as $element){
$line = array();
$line['date'] = $element->date;
$line['description'] = $element->description;
$result[$element->title]['line'][] = $line;
}
我有点理解你的代码,也许我不能实现它,需要一些更精确的深度和上面的例子,排序因子是在这种情况下的名称。4至5级。谢谢我已经有了一个XML数组,我一直在将每个列表分组到一个唯一的列表中,其中包含日期,如上面的示例所示。是否要遍历$XML->somedata->level1。更具体一些数据我们不需要它,一切都从“列表”开始,对于找到的每个“元素”,创建数组,但是那些重复的我想创建一个日期数组,而不是有相同的“元素”两次,只有一次,但日期数组来自于找到的所有同名列表。您是否能够重新构造源XML文档?这将更符合逻辑并节省字节。