【PHP8.x】nodeTypeプロパティの使い方
nodeTypeプロパティの使い方について、初心者にもわかりやすく解説します。
基本的な使い方
nodeTypeプロパティは、DOM (Document Object Model) におけるノードの種類を識別するための整数値を保持するプロパティです。PHPのDom\Documentクラスは、XMLやHTMLなどのマークアップ言語で記述された文書全体を表現するオブジェクトです。
このDom\DocumentオブジェクトのnodeTypeプロパティは、常に文書全体を表す「文書ノード」であることを示す特定の値(例えば、XML_DOCUMENT_NODE定数で表される値)を返します。これは、Dom\Documentオブジェクトが文書構造の最上位、つまり文書そのものを表すためです。
システムエンジニアを目指す方にとって、このnodeTypeプロパティは、DOMツリーをプログラムで走査し、各ノードの種類を判別する上で重要な手段です。Dom\Documentオブジェクトでは、このプロパティで文書全体のルートノードであることを確認できます。DOM操作においてノードの種類に応じた処理を行う際、nodeTypeは基本的な判別基準として活用されます。
構文(syntax)
1<?php 2 3$document = new \Dom\Document(); 4 5// プロパティの値を取得します 6$type = $document->nodeType; 7 8var_dump($type); 9 10?>
引数(parameters)
戻り値(return)
DOMNode::nodeType を参照して判断します。
<?php
$dom = new DomDocument;
echo $dom->nodeType;
?>
上記コードを実行すると数値が出力されることから、戻り値は 戻り値なし ではありません。
<?php
libxml_use_internal_errors(true);
$dom = new DomDocument();
$dom->loadHTML('<!DOCTYPE html><html><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>');
$node = $dom->documentElement;
echo $node->nodeType . PHP_EOL; // Outputs: 1
echo $dom->nodeType . PHP_EOL; // Outputs: 9
echo $dom->firstChild->nodeType . PHP_EOL; // Outputs: 7
nodeType は定数値を返します。
int
Dom\Document クラスの nodeType プロパティは、ノードの種類を表す整数値を返します。この整数値は、DOMNode::nodeType で定義されている定数に対応しており、例えばドキュメントノードの場合は 9、要素ノードの場合は 1、処理命令ノードの場合は 7 となります。