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

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

作成日: 更新日:

基本的な使い方

childElementCountプロパティは、DOMElementオブジェクトが表すHTMLやXMLドキュメント内の要素が持つ、直下の子要素の数を整数値として保持するプロパティです。このプロパティは、現在の要素に直接含まれる子要素の数を取得するために使用されます。ここでいう「子要素」とは、XMLやHTMLのタグで囲まれた要素ノードのみを指し、テキストノード、コメントノード、処理命令などの要素ではない子ノードはカウントの対象外となります。

例えば、<div id="parent"><span>最初の要素</span>テキストノード<b>次の要素</b><!--コメント--></div>のようなHTML構造があった場合、id="parent"div要素のchildElementCountプロパティは「2」を返します。これは、<span>要素と<b>要素の二つが子要素として認識されるためです。テキストノードやコメントはカウントされません。

このプロパティを利用することで、ある要素が子要素を持っているかどうかの確認や、子要素を反復処理する際の回数を事前に把握することができます。DOMツリー内の特定の要素の状態を把握し、それに基づいた動的な処理を実装する際に大変役立ちます。DOMNode::childNodesプロパティとは異なり、要素のみを対象とするため、より具体的な子要素の操作に焦点を当てたい場合に有効です。このプロパティは読み取り専用であり、値を設定することはできません。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3// HTMLコンテンツを読み込む
4// このdiv要素には、<p>と<span>の2つの要素ノードが含まれる
5// <!-- コメント --> や Text は要素ノードではないため、childElementCountではカウントされない
6$dom->loadHTML('<div><p>First paragraph</p><!-- a comment --><span>Second element</span>Text node</div>');
7
8// ドキュメントから最初のdiv要素を取得
9$divElement = $dom->getElementsByTagName('div')->item(0);
10
11// 取得したDOMElementオブジェクトのchildElementCountプロパティにアクセスし、
12// 子要素ノードの数を取得して出力する
13echo $divElement->childElementCount;
14?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

DOMElement オブジェクトの子要素の数を整数で返します。

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