(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 bitmasc of the
DOMNode::DOCUMENT_POSITION_
*
constans.
Example #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
));
?>
The above example will output:
int(20) // This is DOMNode::DOCUMENT_POSITION_CONTAINED_BY | DOMNode::DOCUMENT_POSITION_FOLLOWING int(2) // This is DOMNode::DOCUMENT_POSITION_PRECEDING