<?php
$xml = simplexml_load_file("test.XML");
$amount = array();
$temp = 0;
echo $xml->getName() . "</br>";
foreach ($xml->RECORD as $first_gen) {
foreach ($first_gen->Inventory_Value_at_Cost as $second_gen){
$temp = $second_gen;
$amount[] = $temp;
}
}
echo json_encode($amount, JSON_FORCE_OBJECT);
?>
输出
{ “0”:{ “0”: “34954.68”}, “1”:{ “0”: “20544.20”}, “2”:{ “0”: “102702.76”}, “3”: { “0”: “89018.95”} “4”:{ “0”: “42479.36”}, “5”:{ “0”: “58479.60”}, “6”:{ “0”: “47609.10” }, “7”:{ “0”: “188230.86”}, “8”:{ “0”: “80646.05”}, “9”:{ “0”: “11352.48”}, “10”:{” 0 “:” 4461.90" }}
任何人都可以帮助我把它归结为这样的事情
{34954.68,20544.20,102702.76 ... 4461.90}
非常感谢。
答案 0 :(得分:2)
首先,如果您想要获得一个简单的数组,请不要使用JSON_FORCE_OBJECT
。尝试类似:
$xml = simplexml_load_file("test.XML");
$amount = array();
$temp = 0;
echo $xml->getName() . "</br>";
foreach ($xml->RECORD as $first_gen) {
foreach ($first_gen->Inventory_Value_at_Cost as $second_gen){
$temp = $second_gen;
$amount[] = array_values($temp);
}
}
echo json_encode($amount);
答案 1 :(得分:0)
不是分配$ second_gen中返回的整个数组,而是替换以下代码:
...
$temp = $second_gen;
$amount[] = $temp;
...
使用:
...
$amount[] = $second_gen[0];
...
答案 2 :(得分:0)
Rob是正确的,取消JSON_FORCE_OBJECT
尝试:
$amount[] = $second_gen[0]
和
echo json_encode($amount);