(PHP 8 >= 8.4.0)
DOMNode::compareDocumentPosition — Compares the position of two nodes
Compares the position of the other node relative to this node.
other
The node for which the position should be compared for, relative to this node.
A bitmask of the DOMNode::DOCUMENT_POSITION_*
constants.
Ejemplo #1 DOMNode::compareDocumentPosition() example
<?php
$xml = <<<XML
<root>
<child1/>
<child2/>
</root>
XML;
$dom = new DOMDocument();
$dom->loadXML($xml);
$root = $dom->documentElement;
$child1 = $root->firstElementChild;
$child2 = $child1->nextElementSibling;
var_dump($root->compareDocumentPosition($child1));
var_dump($child2->compareDocumentPosition($child1));
?>
El resultado del ejemplo sería:
int(20) // This is DOMNode::DOCUMENT_POSITION_CONTAINED_BY | DOMNode::DOCUMENT_POSITION_FOLLOWING int(2) // This is DOMNode::DOCUMENT_POSITION_PRECEDING