可扩展标记语言是一个很好的旧数据交换格式,现在基本已经被json取代了。但可悲的是在WEB开发中 仍然存在并用于存储和交换数据。如果你想学习 的相关知识,那么本教程对你将有很大的帮助。
PHP将多维数组转换为
下面是我们要实现PHP多维数组转换 的步骤。
步骤1:创建一个名称为array2 ()的函数,该函数用于将数组换换为 :该功能将通过给定的多维数组不断迭代,并添加每个(键,值)对与PHP的的帮助下单独的 节点的Simple 类。
步骤-2:接着定义PHP关联或多维数组进行转换。
步骤3:创建的Simple 类的新实例。
步骤4:回调到函数array2 ()的阵列到一个 对象(在步骤2中定义)转换。
步骤5:最后保存生成的 作为文件。
代码如下:
<?php
// function to convert multi-dimensional array to
function array2 ($obj, $array)
{
foreach ($array as $key => $value)
{
if(is_numeric($key))
$key = \'item\' . $key;
if (is_array($value))
{
$node = $obj->addChild($key);
array2 ($node, $value);
}
else
{
$obj->addChild($key, htmlspecialchars($value));
}
}
}
// define php multi-dimensional array
$my_array = array (
\'0\' => array (
\'id\' => \'XYZ100\',
\'personal\' => array (
\'name\' =>\'Ashton Cox\',
\'gender\' => \'Male\',
\'age\' => 32,
\'address\' => array (
\'street\' => \'7 24th Street\',
\'city\' => \'New York\',
\'state\' => \'NY\',
\'zipcode\' => \'10038\'
)
),
\'profile\' => array (
\'position\' => \'Team Lead\',
\'department\' => \'Software\'
)
),
\'1\' => array (
\'id\' => \'XYZ121\',
\'personal\' => array (
\'name\' => \'Rhona Davidson\',
\'gender\' => \'Female\',
\'age\' => 40,
\'address\' => array (
\'street\' => \'S2 115th Street\',
\'city\' => \'New York\',
\'state\' => \'NY\',
\'zipcode\' => \'10100\'
)
),
\'profile\' => array (
\'position\' => \'Integration Specialist\',
\'department\' => \'Operations\'
)
)
);
// create new instance of simple
$ = new Simple Element(\'<root/>\');
// function callback
array2 ($ , $my_array);
// save as file
echo (($ ->as (\'data. \')) ? \'Your file has been generated successfully!\' : \'Error generating file!\');
?>
正如你可以看到array2 ()是一个递归函数,几乎经过多次深度解析数组。这也将与数字键关联数组工作,并将其作为<item0> ,<item1>为 不允许像数字键控节点<0> ,<1> ,<2> ,......并把他们视为无效。
该方法的addChild()将一个 节点添加到该对象。
声明新的Simple Element(“<root/>');将创建一个 对象与顶级节点<root> </root>。
该生产线$ -> as (“data. ')将保存 字符串为”data. '文件。请务必提供保存在不同位置的文件的完整文件路径。
现在运行上面的脚本,并没有任何错误生成的 文件。
继续阅读与本文标签相同的文章
上一篇 :
Google 开发者大会记,谷歌与你的距离更近了
下一篇 :
mysql group by使用方法实例讲解
-
相继表态,意、英、德欧洲三国皆希望与华为合作,谷歌也不例外
2026-05-14栏目: 教程
-
中国第4大运营商来袭,携号转网套路多,移不动联不通信不过拜拜
2026-05-14栏目: 教程
-
美国让华为更强大,9个月入账6千亿增速超2成,5G合同已签60多份
2026-05-14栏目: 教程
-
未来几年,这4个大学专业最吃香,前景广阔堪称铁饭碗!
2026-05-14栏目: 教程
-
这间屋子没有电话
2026-05-14栏目: 教程
