【PHP8.x】childElementCountプロパティの使い方

childElementCountプロパティの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

childElementCountプロパティは、DOMDocumentクラスに属し、指定されたノードの直接の子である要素ノードの数を保持するプロパティです。

このプロパティは、XMLやHTMLといったドキュメントの構造を表現するDOM(Document Object Model)において、ある親ノードの直下にある子要素ノードの数を効率的に取得するために使用されます。ここでいう「要素ノード」とは、例えばHTMLの<div><span>のようなタグ、あるいはXMLにおけるユーザーが定義したタグのように、ドキュメントの構造を構成する主要な部分を指します。

childElementCountプロパティの重要な特徴は、テキストノード(要素間の空白や文字データ)、コメントノード(<!-- ... -->)、処理命令ノードなどをカウントに含めない点です。これにより、純粋に子要素の数だけを正確に把握することができ、例えばWebページ内の特定のセクションにいくつの子要素(画像やリンクなど)が含まれているかを調べたい場合に非常に役立ちます。

PHP 8以降のバージョンでは、DOMDocumentクラスがDOMParentNodeインターフェースを実装したことにより、このchildElementCountプロパティが利用できるようになりました。これにより、ドキュメント全体のルートノードであるDOMDocumentオブジェクトに対しても、その直下にある要素の数を簡単に取得できるようになり、DOMツリーの操作がより直感的になります。このプロパティは常に0以上の整数を返し、子要素が存在しない場合は0を返します。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3$dom->loadHTML('<html><body><h1>見出し</h1><p>段落</p></body></html>');
4
5// DOMDocumentオブジェクトのdocumentElementプロパティを通じて、
6// HTML文書のルート要素(<html>)直下の子要素の数を取得します。
7// この例では、<html>要素の子要素は<body>要素のみなので、結果は1です。
8echo $dom->documentElement->childElementCount;

引数(parameters)

戻り値(return)

int

DOMDocument オブジェクトに直接紐づけられている子要素の数を整数で返します。

【PHP8.x】childElementCountプロパティの使い方 | いっしー@Webエンジニア