php下将XML转换为数组

yipeiwu_com6年前PHP代码库
复制代码 代码如下:

// Xml 转 数组, 包括根键
function xml_to_array( $xml )
{
$reg = "/<(\w+)[^>]*>([\\x00-\\xFF]*)<\\/\\1>/";
if(preg_match_all($reg, $xml, $matches))
{
$count = count($matches[0]);
for($i = 0; $i < $count; $i++)
{
$subxml= $matches[2][$i];
$key = $matches[1][$i];
if(preg_match( $reg, $subxml ))
{
$arr[$key] = xml_to_array( $subxml );
}else{
$arr[$key] = $subxml;
}
}
}
return $arr;
}
// Xml 转 数组, 不包括根键
function xmltoarray( $xml )
{
$arr = xml_to_array($xml);
$key = array_keys($arr);
return $arr[$key[0]];
}

相关文章

PHP代码优化技巧小结

PHP代码优化技巧小结

PHP优化的目的是花最少的代价换来最快的运行速度与最容易维护的代码。给大家提供下面这些优化技巧: 1. echo 比 print 快。 2. 使用echo的多重参数代替字符串连接。 3...

php foreach、while性能比较

foreach是对数组副本进行操作(通过拷贝数组),而while则通过移动数组内部指标进行操作,一般逻辑下认为,while应该比foreach快(因为foreach在开始执行的时候首先把...

php算开始时间到过期时间的相隔的天数

复制代码 代码如下://mktime = mktime($hours,minute,seconds,month,day,years) $start_time = mktime(0,0,0...

PHP 的异常处理、错误的抛出及回调函数等面向对象的错误处理方法

异常处理用于在指定的错误(异常)情况发生时改变脚本的正常流程。这种情况称为异常。 PHP 5 添加了类似于其它语言的异常处理模块。在 PHP 代码中所产生的异常可被 throw 语句抛出...

深思 PHP 数组遍历的差异(array_diff 的实现)

function array_diff($array_1, $array_2) {     $diff =...