【PHP8.x】isEqualNodeメソッドの使い方

isEqualNodeメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

isEqualNodeメソッドは、現在のDOMノードと、指定された別のDOMノードが同じであるかどうかを比較し、その結果を判定するメソッドです。このメソッドは、2つのノードが同じ種類(例えば、両方とも要素ノードやテキストノードなど)であり、かつ、それらの名前、値、属性、そして子ノードの構造と内容がすべて等しい場合にtrueを返します。

重要な点として、これらのノードがDOM文書ツリー内でどこに位置しているか、つまり親ノードや兄弟ノードとの関係は比較の対象外となります。そのため、たとえ異なる場所に存在しても、構造と内容が同一であれば等しいと判断されます。

本メソッドは、DOMDocumentクラスのインスタンスを含む、DOMNodeクラスを継承するすべてのノードオブジェクトで利用可能です。例えば、DOM文書内で特定の構造を持つノードを検索したり、XMLやHTMLの断片が内容的に同じであるかを検証したりする際に特に役立ちます。

比較の結果、両ノードが等しいと判断された場合は論理値trueを、そうでない場合はfalseを返します。これにより、プログラムでDOM構造を扱う際に、ノードの同一性を効率的に確認し、複雑な条件分岐やロジックの実装を簡素化することができます。

構文(syntax)

1<?php
2
3$domDocument1 = new DOMDocument();
4$domDocument1->loadXML('<root><element id="1">Text1</element></root>');
5
6$domDocument2 = new DOMDocument();
7$domDocument2->loadXML('<root><element id="2">Text2</element></root>');
8
9// 構文: DOMDocument インスタンス -> isEqualNode(DOMNode のインスタンス)
10$areNodesEqual = $domDocument1->isEqualNode($domDocument2);
11
12?>

引数(parameters)

?DOMNode $otherNode

  • ?DOMNode $otherNode: 比較対象のDOMNodeオブジェクト

戻り値(return)

bool

このメソッドは、指定されたノードと現在のノードが等しいかどうかを示す真偽値(bool)を返します。trueであれば等しく、falseであれば等しくありません。

【PHP8.x】isEqualNodeメソッドの使い方 | いっしー@Webエンジニア