php8.5
Home/ Manual/ dom / domnode/ DOMNode::compareDocumentPosition

DOMNode::compareDocumentPosition

PHP function Edit on GitHub ✎

(PHP 8 >= 8.4.0)

Compares the position of two nodes

Description

DOMNode::compareDocumentPosition(DOMNode $other): int

Compares the position of the other node relative to this node.

Parameters

other

The node for which the position should be compared for, relative to this node.

Return Values

A bitmask of the DOMNode::DOCUMENT_POSITION_* constants.

Examples

DOMNode::compareDocumentPosition example

php
<?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:

output
int(20) // This is DOMNode::DOCUMENT_POSITION_CONTAINED_BY | DOMNode::DOCUMENT_POSITION_FOLLOWING
int(2)  // This is DOMNode::DOCUMENT_POSITION_PRECEDING

Source: reference/dom/domnode/compareDocumentPosition.xml · from the official PHP manual (php/doc-en)