如何在PHP中将数组转换为Simple 对象?
最简单的方法:
<?php
$test_array = array (
\'bla\' => \'blub\',
\'foo\' => \'bar\',
\'another_array\' => array (
\'stack\' => \'overflow\',
),
);
$ = new Simple Element(\'<root/>\');
array_walk_recursive($test_array, array ($ , \'addChild\'));
print $ ->as ();
结果是
<? version=\"1.0\"?>
<root>
<blub>bla</blub>
<bar>foo</bar>
<overflow>stack</overflow>
</root>
键和值是交换的 - 您可以使用array_flip()在array_walk之前修复它。
再看一个实例:
这是php 5.2代码,它将任何深度的数组转换为 文档:
Array
(
[\'total_stud\']=> 500
[0] => Array
(
[student] => Array
(
[id] => 1
[name] => abc
[address] => Array
(
[city]=>Pune
[zip]=>411006
)
)
)
[1] => Array
(
[student] => Array
(
[id] => 2
[name] => xyz
[address] => Array
(
[city]=>Mumbai
[zip]=>400906
)
)
)
)
生成的 将如下:
<? version=\"1.0\"?>
<student_info>
<total_stud>500</total_stud>
<student>
<id>1</id>
<name>abc</name>
<address>
<city>Pune</city>
<zip>411006</zip>
</address>
</student>
<student>
<id>1</id>
<name>abc</name>
<address>
<city>Mumbai</city>
<zip>400906</zip>
</address>
</student>
</student_info>
PHP代码段
<?php
// function defination to convert array to
function array_to_ ( $data, &$ _data ) {
foreach( $data as $key => $value ) {
if( is_numeric($key) ){
$key = \'item\'.$key; //dealing with <0/>..<n/> issues
}
if( is_array($value) ) {
$subnode = $ _data->addChild($key);
array_to_ ($value, $subnode);
} else {
$ _data->addChild(\"$key\",htmlspecialchars(\"$value\"));
}
}
}
// initializing or creating array
$data = array(\'total_stud\' => 500);
// creating of Simple Element
$ _data = new Simple Element(\'<? version=\"1.0\"?><data></data>\');
// function call to convert array to
array_to_ ($data,$ _data);
//saving generated file;
$result = $ _data->as (\'/file/path/name. \');
?> 继续阅读与本文标签相同的文章
-
Robotframework-RED-指定测试报告存放的路径
2026-05-15栏目: 教程
-
株洲首个数据中心站投运
2026-05-15栏目: 教程
-
微软Edge新标签页迎来新布局:新闻区可替换为工作相关内容
2026-05-15栏目: 教程
-
取快递件竟有BUG!这是恶意为之?双十一得好好注意了
2026-05-15栏目: 教程
-
“缺芯少屏”现状或将改善,静电消除及洁净室工程需求增长
2026-05-15栏目: 教程
