【PHP8.x】Dom\EntityReference::isEqualNode()メソッドの使い方
isEqualNodeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
isEqualNodeメソッドは、現在のエンティティ参照ノードが、引数で指定された別のノードと等しいかどうかを判定するメソッドです。ここで言う「等しい」とは、2つのノードがメモリ上で同一のオブジェクトであるかを意味するのではなく、ノードの内容と構造が完全に一致している状態を指します。具体的には、ノードの型、名前、値、属性、そしてすべての子ノードに至るまで、再帰的に比較が行われます。すべての要素が一致した場合にのみtrueを返し、一つでも異なる点があればfalseを返します。このメソッドは、よく似たisSameNodeメソッドとは明確に区別されます。isSameNodeが2つの変数が同じインスタンスを参照しているかを判定するのに対し、isEqualNodeは別々に生成されたインスタンスであっても、その内容が構造的に同一であればtrueと判定します。XMLドキュメントの特定の部分が別の部分と完全に同じ内容であるかを確認する際などに利用できます。引数にnullを渡した場合はfalseが返されます。
構文(syntax)
1<?php 2// Dom\Document オブジェクトを作成 3$document = new \Dom\Document(); 4 5// 比較元となるエンティティ参照ノードを作成 6$node1 = $document->createEntityReference('entity_name'); 7 8// 比較対象となるエンティティ参照ノードを作成 9$node2 = $document->createEntityReference('entity_name'); 10 11// 2つのノードが等しいかどうかを判定し、結果を bool 値で受け取る 12$result = $node1->isEqualNode($node2); 13 14var_dump($result); // bool(true) 15?>
引数(parameters)
?Dom\Node $otherNode
- ?Dom\Node $otherNode: 比較対象のDom\Nodeオブジェクト
戻り値(return)
bool
このメソッドは、参照しているノードと、引数で渡されたノードが同じノードであるかどうかを真偽値(bool)で返します。