您的位置:

php之xml转数组函数的方法,php 对象转成数组

本文目录一览:

PHP xml转换成数组

xml转array方法没错,只是xml中有三个list,而数组中却不能出现三个$arr['list'],所以这个方法自动把三个list中的内容放进了一个二维数组中。

可以尝试直接取$arr['list'],取出结果应该就是 Array ( [0] = 1 [1] = 2 [2] = 3 ) 了。

php 怎么将数组转xml的函数

没有现成函数,只能自己写;我有一个别人写的函数:

?php

class A2Xml {

private $version = '1.0';

private $encoding = 'UTF-8';

private $root = 'root';

private $xml = null;

function __construct() {

$this-xml = new XmlWriter();

}

function toXml($data, $eIsArray=FALSE) {

if(!$eIsArray) {

$this-xml-openMemory();

$this-xml-startDocument($this-version, $this-encoding);

$this-xml-startElement($this-root);

}

foreach($data as $key = $value){

if(is_array($value)){

$this-xml-startElement($key);

$this-toXml($value, TRUE);

$this-xml-endElement();

continue;

}

$this-xml-writeElement($key, $value);

}

if(!$eIsArray) {

$this-xml-endElement();

return $this-xml-outputMemory(true);

}

}

}

$res = array(

'hello' = '11212',

'world' = '232323',

'array' = array(

'test' = 'test',

'b' = array('c'='c', 'd'='d')

),

'a' = 'haha'

);

$xml = new A2Xml();

echo $xml-toXml($res);

菜鸟求解php支付接口返回的xml解析成数组在怎么做??

$xml=simplexml_load_string($xml);

$xml=(array)$xml;

var_dump($xml);

这个是处理成数组的

php读取XML文件,并解析成数组

simplexml_load_string可以把xml解析成对象,然后可以用var_dump进行解析。

php内部库并没有包含直接把xml解析成数组的模块。

而且xml本来包含节点概念,解析成对象以后可以直接访问每一个节点,而数组相对就要难以理解的多。

因此解析成数组并不比解析成对象有多少优势。

如果你对数组实在有需求的话,可以自己写一个库,并不会太难。

php 将xml对象转换成数组,看不明白function simplexml_obj2array函数,请高人解释思路?

instanceof 用来检查前面的对象是否是后面这个类的实例,如果是则强制转换为数组

求一个PHP把一维数组转化为xml格式和再从xml格式转回一维数组的方法,求示例代码。谢谢。

代码

Code highlighting produced by Actipro CodeHighlighter (freeware);// Xml 转 数组, 包括根键,忽略空元素和属性,尚有重大错误

function xml_to_array( $xml )

{

$reg = "/(\\w+)[^]*?([\\x00-\\xFF]*?)\\/\\1/";

if(preg_match_all($reg, $xml, $matches))

{

$count = count($matches[0]);

$arr = array();

for($i = 0; $i $count; $i++)

{

$key= $matches[1][$i];

$val = xml_to_array( $matches[2][$i] ); // 递归

if(array_key_exists($key, $arr))

{

if(is_array($arr[$key]))

{

if(!array_key_exists(0,$arr[$key]))

{

$arr[$key] = array($arr[$key]);

}

}else{

$arr[$key] = array($arr[$key]);

}

$arr[$key][] = $val;

}else{

$arr[$key] = $val;

}

}

return $arr;

}else{

return $xml;

}

}

// Xml 转 数组, 不包括根键

function xmltoarray( $xml )

{

$arr = xml_to_array($xml);

$key = array_keys($arr);

return $arr[$key[0]];

}