【发布时间】:2017-07-27 23:53:51
【问题描述】:
一个月前我问如何在 c# 中反序列化 XML,现在我必须在 PHP 中做同样的事情,但我无法使其正常工作,这是我的 XML 格式:
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/api/" action="EXPORT">
<result>
<rows>
<row>
<column name="Name1">Value1</column>
<column name="Name2">Value2</column>
</row>
<row>
<column name="Name1">Value1</column>
<column name="Name2">Value2</column>
</row>
</rows>
</result>
</response>
这就是我想要做的:
$row = new SimpleXMLElement($XML);
$json = json_encode($row);
$array = json_decode($json,TRUE);
foreach($array["result"]["rows"]["row"] as $row){
$array[$k] = [
'Name1' => $row["column"][0],
'Name2' => $row["column"][1]
];
$k++;
}
这样做的问题是,如果使用 foreach 之类的:
foreach($array as $arr){
print_r($arr);
echo"<br>";
}
给我这个结果:
数组([uri] => /api/ [action] => 导出)
数组 ( [rows] => 数组 ( [row] => 数组 ( [0] => 数组 ( [column] => 数组 ( [0] => Value1 [1] => Value2 ) ) [1] => 数组 ( [column] => 数组 ( [0] => 值 1 [1] => 值 2 ) ) ) ) )
数组([名称1] => 值1 [名称2] => 值2)
数组([名称1] => 值1 [名称2] => 值2)
我只想要它打印的最后 2 个结果,因为这实际上是我需要的,我该如何解决这个问题?
【问题讨论】: