我从SQL表中获取关键字,该表返回一个如下所示的simpleXML字符串:
<ranks>
<tags>
<tag>Alabama</tag>
<tagID>1</tagID>
</tags>
<tags>
<tag>Alaska</tag>
<tagID>2</tagID>
</tags>
<tags>
<tag>Arizona</tag>
<tagID>3</tagID>
</tags>
</ranks>
现在我需要以数组的形式将其存储为变量。
有人可以告诉我如何实现这个目标吗? 我对数组很新,并且不知道从这里开始的方法,因为每个标记总是有两个值,即标记名称和tagID,而我只需要一个带有标记名称的数组。 理想情况下,结果应如下所示:
$tags = ['Alabama', 'Alaska', 'Arizona'];
答案 0 :(得分:1)
使用此功能:
function xml_to_array($xml,$main_heading = '') {
$deXml = simplexml_load_string($xml);
$deJson = json_encode($deXml);
$xml_array = json_decode($deJson,TRUE);
if (! empty($main_heading)) {
$returned = $xml_array[$main_heading];
return $returned;
} else {
return $xml_array;
}
}
您可以通过以下代码创建XML数组:
$simple = 'your xml';
$data_array = xml_to_array($simple);
如果您的XML是单个文件,请使用file_get_contents()获取文件内容;