【PHP8.x】previousSiblingプロパティの使い方
previousSiblingプロパティの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
previousSiblingプロパティは、DOM (Document Object Model) ツリーにおいて、現在のノードの直前にある兄弟ノードを保持するプロパティです。このプロパティは、PHPのDOM拡張機能の一部であるDom\Notationクラスに属しています。Dom\Notationクラスのインスタンスは、XMLまたはHTMLドキュメントのDTD (Document Type Definition) 内で定義されるNOTATION宣言を表すノードです。
DOMツリーは、ドキュメントの構造を木のような階層で表現し、各要素、属性、テキストなどが「ノード」として扱われます。兄弟ノードとは、同じ親ノードを持つノード同士を指します。Dom\Notationオブジェクトに対してこのpreviousSiblingプロパティにアクセスすると、そのNOTATIONノードのすぐ前にある兄弟ノードが返されます。
もし現在のDom\Notationノードの直前に兄弟ノードが存在しない場合は、このプロパティはnullを返します。この機能により、DOMツリー内でノードを前方にたどって巡回したり、特定のノードを見つけ出したりすることが可能となります。XMLやHTMLドキュメントの構造をプログラムで操作する際に、ノード間の関係性を把握し、効率的に移動するために重要な役割を果たします。
構文(syntax)
1<?php 2 3$xmlString = <<<XML 4<?xml version="1.0"?> 5<!DOCTYPE root [ 6 <!NOTATION type_a SYSTEM "uri:type_a"> 7 <!NOTATION type_b SYSTEM "uri:type_b"> 8]> 9<root/> 10XML; 11 12$dom = new DOMDocument(); 13$dom->loadXML($xmlString); 14 15$docType = $dom->doctype; 16$notations = $docType->notations; 17 18$notation = $notations->item(1); 19 20$previousSiblingNode = $notation->previousSibling; 21 22?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
Dom\Node|null
このプロパティは、現在のノードの直前にある兄弟ノードを返します。直前に兄弟ノードが存在しない場合は、nullを返します。