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

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

作成日: 更新日:

基本的な使い方

hasAttributesメソッドは、ノードが属性を持っているかどうかを確認するメソッドです。このメソッドは、すべてのDOMノードの基底クラスであるDOMNodeクラスで定義されており、DOMAttrクラスはDOMNodeを継承しているため利用できます。しかし、XMLやHTMLの仕様上、属性ノード(DOMAttr)自体がさらに別の属性を持つことはないため、DOMAttrオブジェクトに対してこのメソッドを呼び出した場合、戻り値は常にfalseとなります。このメソッドが実際に有効なのは、DOMElementなどの要素ノードに対して使用する場合です。例えば、特定のHTMLタグがidclassといった属性を一つでも持っているかを判定する際に役立ちます。メソッドは引数を取らず、対象のノードに属性が一つ以上存在すればtrueを、一つも存在しなければfalseを返します。この戻り値を利用して、属性の有無に基づいた条件分岐処理を簡潔に記述することが可能です。

構文(syntax)

1<?php
2
3$doc = new DOMDocument();
4$doc->loadXML('<user profile_id="123">John Doe</user>');
5
6// 'user' 要素の 'profile_id' 属性ノードを取得します
7$userElement = $doc->getElementsByTagName('user')->item(0);
8$attrNode = $userElement->getAttributeNode('profile_id');
9
10// DOMAttr ノードが属性を持つか確認します (常に false を返します)
11$result = $attrNode->hasAttributes();
12
13var_dump($result);
14
15?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

このメソッドは、DOMAttr オブジェクトが子要素として属性を持っているかどうかを真偽値(trueまたはfalse)で返します。

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