我最近尝试了一个简单的事情,使用 php xml writer 以更跨平台的方式输出 db 调用 - 使用 xml。问题是,我想将我的多 is_array 和 foreach 循环转换为某种循环:
$arr = array('param'=>'value','otherparam'=>array('vegetable'=>'tomato'));
$xml = new XMLWriter();
$xml->openURI("php://output");
$xml->startDocument();
$xml->setIndent(true);
$xml->startElement('whmseo');
$xml->startElement($module);
foreach($arr as $fkey=>$fel)
{
if(is_array($fel))
{
foreach($fel as $skey=>$sel)
{
if(is_array($sel))
{
foreach($sel as $tkey=>$tel)
{
$xml->startElement($tkey);
$xml->writeRaw($tel);
$xml->endElement();
}
}
else
{
$xml->startElement($skey);
$xml->writeRaw($sel);
$xml->endElement();
}
}
}
else
{
$xml->startElement($fkey);
$xml->writeRaw($fel);
$xml->endElement();
}
}
$xml->endElement();
$xml->endElement();
header('Content-type: text/xml');
$xml->flush();
exit();
如何在一些简单的迭代中做到这一点?