PHP将XML转换为对应的数组

function xml2Array($xml) {

	$objXml = @simplexml_load_string($xml);

	$arrRet = obj2Array($objXml);

	return $arrRet;
}

function obj2Array($objXml) {
	if (!is_object($objXml)) {
		return false;
	}
	if (count($objXml) > 0) {

		$keys = $result = array();

		foreach ($objXml as $key=>$val) {
			isset($keys[$key]) ? $keys[$key] += 1 : $keys[$key] = 1;
			if ($keys[$key] == 1) {

				$result[$key] = obj2Array($val);
			} elseif ($keys[$key] == 2) {

				$result[$key] = array($result, obj2Array($val));
			} elseif ($keys[$key] > 2) {

				$result[$key][] = obj2Array($val);
			}
		}

		return $result;
	} else {
		return (string)$objXml;
	}
}

阅读更多
个人分类: PHP
上一篇PHP多进程抓取百度搜索结果
下一篇mysql批量更新的4种方法
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭