foreach
トラバース可能を実装する任意の配列またはオブジェクトを反復できます。 PDOStatement::fetch()
の結果 レコード/行です。 foreachにステートメントを提供するだけです。
foreach($statement as $row) { ...
このようなダンプに適したAPIは、XMLWriter です。 。最初にドキュメント全体をメモリに保存せずに、結果をストリームに直接書き込みます。 XML APIを使用すると、必要に応じてエスケープも処理されます。小さな例を次に示します。
$statement = [
[ 'name' => 'one', 'location' => '...', /* ... */],
[ 'name' => 'two', 'location' => '...', /* ... */]
];
$xmlWriter = new XMLWriter();
$xmlWriter->openUri('php://stdout');
$xmlWriter->startDocument();
$xmlWriter->setIndent(2);
$xmlWriter->startElement('markers');
foreach ($statement as $row) {
$xmlWriter->startElement('marker');
$xmlWriter->writeAttribute('name', $row['name']);
/* other attributes ... */
$xmlWriter->endElement();
}
$xmlWriter->endElement();
$xmlWriter->endDocument();
出力:
<?xml version="1.0"?>
<markers>
<marker name="one"/>
<marker name="two"/>
</markers>
DOMでは、ノードを作成、追加、および構成します。小さな例を次に示します。