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

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

作成日: 更新日:

基本的な使い方

lastChildプロパティは、あるノードが持つ子ノードのリストの中で、最後のノードを保持するプロパティです。このプロパティは、HTMLやXMLドキュメントのようなツリー構造を操作する際に使用されます。例えば、特定の要素に含まれる一番最後の子要素やテキストを取得したい場合に役立ちます。子ノードには、要素ノードだけでなく、テキストノードやコメントノードなども含まれます。特に、HTMLソースコード内の要素間の空白や改行は、テキストノードとして解釈されることがあるため、意図せずテキストノードが最後の子として取得される可能性がある点に注意が必要です。もし対象のノードに子ノードが一つも存在しない場合、このプロパティの値は null となります。そのため、プロパティにアクセスする際は、値が null でないことを確認してから処理を進めるのが安全です。lastChildプロパティは読み取り専用であり、直接値を代入して最後の子を変更することはできません。子ノードの操作には、appendChild()removeChild() といった専用のメソッドを使用します。このプロパティが返す値は、Dom\Node オブジェクトまたは null のいずれかです。

構文(syntax)

1<?php
2
3$xmlString = '<book><title>PHP入門</title><author>山田太郎</author></book>';
4
5$dom = new DOMDocument('1.0', 'UTF-8');
6$dom->loadXML($xmlString);
7
8// <book>要素ノードを取得
9$bookNode = $dom->documentElement;
10
11// <book>要素の最後の子ノード (<author>要素) を取得します。
12// このプロパティは読み取り専用です。
13$last = $bookNode->lastChild;
14
15// 取得したノードがnullでないことを確認してから情報を出力します
16if ($last) {
17    echo $last->nodeName . PHP_EOL;
18    echo $last->textContent . PHP_EOL;
19}
20
21?>

引数(parameters)

戻り値(return)

Dom\Node|null

このプロパティは、対象のノードの最後の子ノードを表す Dom\Node オブジェクト、または子ノードが存在しない場合は null を返します。

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