0

これは、コメントを検索してファイルに書き込み、正常に動作するための私のコードです。

$comment1 = $xpath->query('//*[comment() = "abc"]');
$comment2 = $xpath->query('//*[comment() = "cde"]');

$commentIterator = new MultipleIterator();
$commentIterator->attachIterator(new IteratorIterator($comment1));
$commentIterator->attachIterator(new IteratorIterator($comment2));

foreach ($commentIterator as $comments) {
    file_put_contents('page1.php', $dom->saveHTML($comments[0]));
    file_put_contents('page2.php', $dom->saveHTML($comments[1]));   
}

file_put_contents問題は、foreach の外にある場合でも結果が正しいことです。$comments はループ内のローカル変数です。foreach は必要ですか?

このコードは、foreach 外の $comments でも同様に機能します

$comment1 = $xpath->query('//*[comment() = "abc"]');
$comment2 = $xpath->query('//*[comment() = "cde"]');

$commentIterator = new MultipleIterator();
$commentIterator->attachIterator(new IteratorIterator($comment1));
$commentIterator->attachIterator(new IteratorIterator($comment2));

foreach ($commentIterator as $comments) {

}

file_put_contents('page1.php', $dom->saveHTML($comments[0]));
file_put_contents('page2.php', $dom->saveHTML($comments[1]));   
4

1 に答える 1