将 DOMDocument 和 DOMElement 传递给 PHP 函数

passing DOMDocument and DOMElement to PHP function

我在 PHP DOMDOcument

中编写了两个用于通过类名查找元素的函数
function byClass(DOMDocument $a,$b,$c){
    foreach($a->getElementsByTagName($b) as $e){
        if($e->getAttribute('class')==$c){$r[]=$e;}
    }
return $r;
}

function byClass2(DOMElement $a,$b,$c){
    foreach($a->getElementsByTagName($b) as $e){
        if($e->getAttribute('class')==$c){$r[]=$e;}
    }
return $r;
}

是否可以通过自动检测第一个参数是 DOMDocumentDOMElement 将这两个函数合并为一个函数?

DOMDocumentDOMElement 都是 DOMNode 的子类,因此使用该类型来包含两者。

function byClass(DOMNode $a,$b,$c){
    foreach($a->getElementsByTagName($b) as $e){
        if($e->getAttribute('class')==$c){$r[]=$e;}
    }
    return $r;
}