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

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

作成日: 更新日:

基本的な使い方

childElementCountプロパティは、Dom\DocumentFragmentオブジェクトの子要素の数を保持するプロパティです。Dom\DocumentFragmentは、HTMLやXML文書の一部を一時的に格納するための軽量なノードで、ウェブページに直接追加されることなく、DOMツリーの操作を効率的に行うために利用されます。

このchildElementCountプロパティは、Dom\DocumentFragmentに直接の子ノードとして含まれる「要素ノード」のみの数を整数で提供します。ここで言う「要素ノード」とは、HTMLタグのような構造を持つノード(例: <p>, <div>など)を指します。テキストノードやコメントノードといった要素ノード以外のノードは、このプロパティのカウント対象には含まれません。

PHPのDOM拡張機能では、通常、子ノードの総数を取得する際にはchildNodesプロパティを使用しますが、これにはテキストノードやコメントノードなども含まれます。しかし、childElementCountプロパティを使用することで、より簡単に「要素」のみに限定した子ノードの数を取得できます。これにより、特定のHTML構造を持つ子ノードだけを対象とした処理を行う際などに、余分なフィルタリングなしで直接的な情報を得ることができ、コードの簡潔化と可読性の向上に貢献します。このプロパティは読み取り専用であり、その値を直接変更することはできません。

構文(syntax)

1<?php
2
3$doc = new DOMDocument();
4$fragment = $doc->createDocumentFragment();
5
6$element1 = $doc->createElement('p');
7$fragment->appendChild($element1);
8
9$element2 = $doc->createElement('div');
10$fragment->appendChild($element2);
11
12$textNode = $doc->createTextNode('このテキストはカウントされません。');
13$fragment->appendChild($textNode);
14
15echo $fragment->childElementCount;
16
17?>

引数(parameters)

戻り値(return)

int

Dom\DocumentFragment オブジェクト内の子要素の数を整数で返します。

関連コンテンツ