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

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

作成日: 更新日:

基本的な使い方

isSameNodeメソッドは、現在のDOMノードと、引数として指定された別のDOMノードが物理的に同一であるかどうかを判定する処理を実行するメソッドです。このメソッドは、PHPのDOM(Document Object Model)を操作する際に、DOMElementクラスのインスタンスに対して呼び出されます。引数には比較対象となるDOMNodeオブジェクトを一つ指定し、比較結果はブール型で返されます。具体的には、両方のノードがメモリ上で同じオブジェクトインスタンスを指しており、DOMツリー内の同一の位置にある物理的なノードである場合にtrueを返し、それ以外の場合はfalseを返します。

このメソッドの重要な点は、ノードが持つ内容、例えば属性値や子ノードが同じであるかどうかを比較するisEqualNodeメソッドとは異なり、あくまでノードそのものの「同一性」を厳密に判断する点にあります。システムエンジニアを目指す初心者の方々にとって、Webアプリケーション開発などでDOMツリーを動的に操作する場面において、特定のノードが以前参照していたノードと一致しているか、あるいは特定の処理が適用されたノードが目的のノードであるかを正確に確認する際に非常に有用です。これにより、誤ったノードに対する操作や、重複した処理の実行を防ぎ、より堅牢なプログラムを作成する上で役立ちます。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3$element1 = $dom->createElement('exampleTag');
4$element2 = $element1; // $element2 は $element1 と全く同じDOMElementインスタンスを参照します
5
6// DOMElement::isSameNode メソッドを使用して、二つの変数が同じノードを参照しているかを確認します
7$isSame = $element1->isSameNode($element2);
8
9var_dump($isSame);
10?>

引数(parameters)

DOMNode|null $otherNode

  • DOMNode|null $otherNode: 比較対象のDOMNodeオブジェクト、またはnull

戻り値(return)

bool

このメソッドは、指定されたノードがこのDOMElementと同じノードである場合にtrueを、そうでない場合にfalseを返します。

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