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

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

作成日: 更新日:

基本的な使い方

hasAttributeメソッドは、DOMElementオブジェクトが指定された名前の属性を持っているかどうかを確認するために実行するメソッドです。このメソッドは、HTMLやXMLドキュメント内の特定の要素が、ある属性を持っているかを調べたい場合に役立ちます。引数には、存在を確認したい属性の名前を文字列で指定します。メソッドを実行すると、指定した名前の属性がその要素に存在する場合はtrueを、存在しない場合はfalseを返します。この戻り値はブール値であるため、if文などの条件分岐で利用して、属性の有無に応じた処理を簡単に行うことができます。例えば、<img>タグにalt属性が設定されているかを確認し、設定されていない場合にのみ特定の処理を実行するといった制御が可能になります。属性の値を取得するgetAttributeメソッドとは異なり、このメソッドは属性の存在そのものを判定します。そのため、属性の値が空文字列の場合と、属性自体が存在しない場合とを明確に区別したい場合に特に有効です。DOMを操作する上で、要素の状態を安全かつ確実にチェックするための基本的なメソッドの一つです。

構文(syntax)

1<?php
2
3$xmlString = '<product id="101" available="true">Book</product>';
4$dom = new DOMDocument();
5$dom->loadXML($xmlString);
6
7$element = $dom->getElementsByTagName('product')->item(0);
8
9/*
10 * 構文:
11 * public DOMElement::hasAttribute(string $name): bool
12 */
13
14// "available" 属性が存在するかどうかを確認します (結果: true)
15$hasAvailable = $element->hasAttribute('available');
16var_dump($hasAvailable);
17
18// "price" 属性が存在するかどうかを確認します (結果: false)
19$hasPrice = $element->hasAttribute('price');
20var_dump($hasPrice);
21
22?>

引数(parameters)

string $qualifiedName

  • string $qualifiedName: 属性の名前を指定する文字列

戻り値(return)

bool

指定された属性が存在するかどうかを示す真偽値 (true または false) を返します。

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