【发布时间】:2013-09-11 11:05:42
【问题描述】:
我有一个像
这样的数组$a = array(
'aaa' => "sample",
'bbb' => "sample2",
'ccc' => "adas",
'ddd' => "2",
'eee' => '2013-09-05',
'fff' => "false",
'ggg' => "893",
'qqq' => '2013-09-05',
'sss' => array(
"iii" => array(
'vvv' => "sample3",
'xxx' => 500,
)
),
'nnn' => '2013-09-05',
'mmm' => "Normal",
);
我想将它转换为 xml,但不使用 SimpleXMLElement 或其他函数。这就是为什么我试图用 foreach 来做这件事。这是我的代码;
$data = '';
foreach ($a as $k => $v) {
if (is_array($k)) {
$data .= "<a:$k>" . $v . "</a:$k>";
foreach ($k as $j => $m) {
if (is_array($j)) {
foreach ($j as $s => $p) {
$data .= "<a:$s>" . $p . "</a:$s>";
}
} else {
$data .= "<a:$j>" . $m . "</a:$j>";
}
}
} else {
$data .= "<a:$k>" . $v . "</a:$k>";
}
}
但它不起作用。我可以使它与另一种语言的哈希图一起工作,但它必须是 php。我怎样才能做到这一点。
谢谢。
【问题讨论】:
-
你应该使用递归
-
@BORA S.A. 我知道,但我不会使用此功能。因为在转换之前我还有另一个控件
标签: php xml arrays multidimensional-array