I've recently tried a simple thing with php xml writer to output db calls in a more cross-platform way - using xml. The thing is, I'd like to transform my multi is_array and foreach loops into some kind of loop:
$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();
How to do that in some simple iteration?