php中xml文件中的particluar json数组
在下面的xml文件“catalog”中,每个图书id有5个变量php中xml文件中的particluar json数组,php,arrays,xml,json,Php,Arrays,Xml,Json,在下面的xml文件“catalog”中,每个图书id有5个变量 <?xml version="1.0"?> <catalog> <book id="bk101"> <author>Gambardella</author> <title>XML Developer</title> <genre>Computer</genre> <p
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella</author>
<title>XML Developer</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
</book>
<book id="bk102">
<author>Ralls</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
</book>
<book id="bk103">
<author>Corets</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-11-17</publish_date>
</book>
</catalog>
你不能真的那样做。您可以做的更好的事情是将其解析为simplexml,然后遍历对象,如果特定对象已经具有“102”属性,则只需执行一个计数器。我建议使用print\r进行调试,以确定键值“book id”是否存在。它也将有助于稍后遍历JSON结构
foreach ( $data['catalog'] as $row ) {
if ($row['book id'] == '102') {
// do the work
} else {
// for debugging
echo print_r($row, true);
}
}
我还注意到你把目录拼错了$数据['catlog']到$data['catalog'] @Paul Crovella:parse json array in phpadded json php code in the question无法理解您的代码放入其他{print,row}print\r所做的是显示行数组中的键和值。这将帮助您缩小错误的范围:我的问题是如何获取图书id='102'的json数组,而不是xml数组。我理解,如果您尝试了,您现在就可以得到答案。请用print_r的回复进行评论,这将允许我们帮助您。
foreach ( $data['catalog'] as $row ) {
if ($row['book id'] == '102') {
// do the work
} else {
// for debugging
echo print_r($row, true);
}
}