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

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

作成日: 更新日:

基本的な使い方

cloneNodeメソッドは、呼び出し元のDOMDocumentFragmentオブジェクトの複製(クローン)を作成するメソッドです。このメソッドを使用することで、既存の文書断片をコピーし、文書内の別の場所で再利用することが可能になります。メソッドにはオプションで論理値の引数 $deep を指定でき、これによってコピーの範囲を制御します。引数 $deeptrueを指定して呼び出すと、ディープコピーが実行されます。これは、DOMDocumentFragment自身だけでなく、その中に含まれるすべての子ノード群も再帰的に複製し、構造全体を完全にコピーすることを意味します。一方、$deepfalseを指定した場合や引数を省略した場合は、シャローコピーが実行されます。この場合、DOMDocumentFragmentの器となるノード自体は複製されますが、その子ノードは一切コピーされず、結果として空の文書断片が生成されます。メソッドの実行に成功すると、新しく作成されたDOMDocumentFragmentオブジェクトが返され、失敗した場合にはfalseが返されます。

構文(syntax)

1<?php
2$clonedNode = $domDocumentFragment->cloneNode(true);

引数(parameters)

bool $deep = false

  • bool $deep = false: trueを指定すると、ノードとそのすべての子孫ノードを深くコピーします。false(デフォルト)を指定すると、ノード自体のみをコピーします。

戻り値(return)

DOMNode|false

DOMDocumentFragment オブジェクトのコピーを DOMNode として返します。コピーに失敗した場合は false を返します。

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