【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 となります。