【PHP8.x】hasChildNodesメソッドの使い方

hasChildNodesメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

hasChildNodesメソッドは、属性ノード(Dom\Attrオブジェクト)が子ノードを持っているかどうかを判定するメソッドです。このメソッドを呼び出すと、対象の属性ノードに子ノードが存在する場合にはtrueを、存在しない場合にはfalseを返します。DOMの構造において、属性ノードが持つ子ノードは、通常その属性の値を構成するテキストノードやエンティティ参照ノードです。したがって、このメソッドは実質的に、属性に値が設定されているかどうかを確認する目的で利用されることが多くなります。例えば、XMLやHTMLドキュメントを解析し、特定の要素から取得した属性オブジェクトに対してこのメソッドを実行することで、その属性が値を持たない空の属性なのか、あるいは何らかの値を持っているのかをプログラムで安全に判断できます。この判定結果を利用して、属性値の有無に応じた条件分岐処理を実装することが可能です。

構文(syntax)

1<?php
2
3$document = new DOMDocument();
4$document->loadXML('<user id="123"></user>');
5
6$element = $document->documentElement;
7$attributeNode = $element->getAttributeNode('id');
8
9$result = $attributeNode->hasChildNodes();
10
11var_dump($result);
12
13?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

このメソッドは、ノードが子ノードを持っているかどうかを示す真偽値(bool)を返します。子ノードが存在すれば true を、存在しなければ false を返します。

【PHP8.x】hasChildNodesメソッドの使い方 | いっしー@Webエンジニア