我有一段PHP代码,它返回一个具有XML结构的对象变量,如下所示:
<food1>
<name1>Belgian Waffles</name1>
<prices1>
<price1>$5.95</price1>
<price2>$8.95</price2>
</prices1>
<description1>Two of our famous Belgian Waffles with plenty of real maple syrup</description1>
<calories1>
<AA>
<A1>650</A1>
<A2>652</A2>
<A3>653</A3>
</AA>
<BB>
<B1>750</B1>
<B2>751</B2>
<B3>752</B3>
</BB>
</calories1>
</food1>
如何在 PHP 中编写一个 foreach 循环,从上面生成一个类似$food1
变量?然后我的计划是将$food1
值插入MySQL数据库的文本字段中,以便在需要时解析和处理$food1
数组。
$food1 = array(
"food1" => array
(
"name1" => Belgian Waffles,
"prices1" => array (
price1 => $5.95
price2 => $8.95
),
"description1" => 'Two of our famous Belgian Waffles with plenty of real maple syrup',
"calories1" => array
(
"AA" => array (
A1 => 650
A2 => 652
A3 => 653
),
"BB" => array (
B1 => 750
B2 => 752
B3 => 753
),
)
);
XML 中的一个注释更改了以下内容:
<name2>Belgian Waffles</name1>
自
<name1>Belgian Waffles</name1>
试试这个代码:
<?php
$xml_string = '<food1>
<name1>Belgian Waffles</name1>
<prices1>
<price1>$5.95</price1>
<price2>$8.95</price2>
</prices1>
<description1>Two of our famous Belgian Waffles with plenty of real maple syrup</description1>
<calories1>
<AA>
<A1>650</A1>
<A2>652</A2>
<A3>653</A3>
</AA>
<BB>
<B1>750</B1>
<B2>751</B2>
<B3>752</B3>
</BB>
</calories1>
</food1>';
$xml = simplexml_load_string($xml_string);
$json = json_encode($xml);
$out = array($xml->getName() => json_decode($json, true));
print_r($out);
?>