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

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

作成日: 更新日:

基本的な使い方

firstChildプロパティは、ある要素の最初の子ノードを保持するプロパティです。このプロパティは、XMLやHTMLドキュメントの構造を操作する際に、特定の要素の直下にある最初のノードを取得するために使用されます。ここでいう子ノードには、<span>のような要素ノードだけでなく、要素に含まれるテキストを表すテキストノードや、<!-- コメント -->のようなコメントノードなど、さまざまな種類が含まれます。例えば、<p>テキスト</p>という要素において、firstChildプロパティは「テキスト」という内容を持つテキストノードを返します。もし対象の要素が子ノードを一切持たない場合、例えば<br><div></div>のような空の要素の場合、このプロパティの値はnullになります。取得したノードはDom\Nodeオブジェクトであるため、その種類や内容をさらに詳しく調べることが可能です。なお、このプロパティは読み取り専用であり、直接値を代入して子ノードを変更することはできません。ノードの操作にはappendChild()などの専用メソッドを使用する必要があります。

構文(syntax)

1<?php
2
3$html_string = '<div><p>最初の子ノード</p><span>二番目の子ノード</span></div>';
4
5// Dom\Documentオブジェクトを生成し、HTMLを読み込みます
6$doc = new Dom\Document();
7@$doc->loadHTML($html_string);
8
9// <div>要素を取得します
10$element = $doc->getElementsByTagName('div')[0];
11
12// firstChildプロパティを使用して、要素の最初の子ノードを取得します
13$first_node = $element->firstChild;
14
15// 取得したノードが存在する場合、そのタグ名を出力します
16if ($first_node) {
17    // 出力: p
18    echo $first_node->nodeName;
19}
20
21?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

?Dom\Node

このプロパティは、対象となる Dom\Element の最初の子ノードを返します。子ノードが存在しない場合は null が返されます。

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