Я недавно пробовал простую вещь с PHP-писателем PHP, чтобы вывести вызовы db более кросс-платформенным способом - с помощью xml. Дело в том, что я хотел бы преобразовать многосайтовый is_array и Foreach петлю в какое-то петле:Многоуровневый php-массив xml writer?
$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();
Как сделать это в какой-то простой итерации?
Вы хотите, чтобы сделать его рекурсивным? – OIS
Да, это правильно :-) – jakubplus