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

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

作成日: 更新日:

基本的な使い方

lengthプロパティは、Dom\NamedNodeMapオブジェクトが保持する属性ノードの数を保持するプロパティです。

Dom\NamedNodeMapは、PHPのDOM拡張機能において、XMLやHTMLドキュメントツリー内の要素が持つ属性(Attribute)の集まりを表すオブジェクトです。例えば、HTML要素<img src="image.png" alt="My Image">においては、srcaltが属性であり、これら複数の属性をまとめて扱う際にDom\NamedNodeMapが使用されます。

このlengthプロパティは、NamedNodeMapに格納されている属性ノードの総数を整数値で提供します。これにより、特定の要素がいくつの属性を持っているかをプログラムから簡単に確認することが可能です。

例えば、特定のDOM要素からattributesプロパティなどを通じてDom\NamedNodeMapオブジェクトを取得した後、その要素に定義されている属性の数を調べたい場合や、全ての属性を順に処理する必要がある場合に、このlengthプロパティが非常に役立ちます。一般的には、forループなどの繰り返し処理を用いて、lengthプロパティの値を上限として各属性にアクセスし、それぞれの属性名や値を操作する際に利用されます。

このプロパティは読み取り専用であり、NamedNodeMapに格納されている属性の数は、属性の追加や削除によってのみ変更されますが、lengthプロパティ自体を直接変更することはできません。

構文(syntax)

1<?php
2$dom = new DOMDocument();
3$element = $dom->createElement('item');
4$element->setAttribute('id', 'unique');
5$element->setAttribute('name', 'product');
6
7$namedNodeMap = $element->attributes;
8
9echo $namedNodeMap->length;

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

Dom\NamedNodeMap オブジェクトが保持するノードの総数を返します。

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