Php DOMNodeList返回DOMNode还是DOMElement?
我错过了一些东西 我有这个命令: $xpath->query('//input')->项(0) php.net文档说DOMNodeList:item应该返回一个DOMNode,但是如果我var_dump上面的结果,它会说它返回一个domeElement 是php.net错了还是我错了Php DOMNodeList返回DOMNode还是DOMElement?,php,dom,domxpath,Php,Dom,Domxpath,我错过了一些东西 我有这个命令: $xpath->query('//input')->项(0) php.net文档说DOMNodeList:item应该返回一个DOMNode,但是如果我var_dump上面的结果,它会说它返回一个domeElement 是php.net错了还是我错了 PS:我非常喜欢它返回一个domeElement,虽然看起来更符合逻辑 正如Esailija在其评论中所说的DomeElement扩展了DOMNode,因此它确实返回了一个DOMNode,或者说是一个共享该接口的对
PS:我非常喜欢它返回一个domeElement,虽然看起来更符合逻辑 正如Esailija在其评论中所说的
DomeElement
扩展了DOMNode
,因此它确实返回了一个DOMNode
,或者说是一个共享该接口的对象。也就是说,您不能依赖它是DOMElement
,因此如果您使用DOMElement
特定功能,您需要测试它是DOMElement
,而不是其他形式的DOMNode
它确实返回一个DOMNode
。。。如果您有一个domeElement
$dom
,那么$domInstanceof DOMNode
等于true
您的理解是错误的。如果说某个东西返回了车辆
,而返回了汽车
,那么说汽车不是车辆是错误的。当然,考虑到Car
extensedVehicle
@Bakaburg:我不得不反对,并不是要贬低你,但你和任何提出这一点的人都是错的。它返回DOMNode
的接口,即API的“契约”。任何属于DOMNode
的实例都仍然是DOMNode
,即使它是一个派生类。这对于几乎所有的API文档都是典型的。@Bakaburg imho PHP文档很清楚DOMNodeList::item()
返回类DOMNode
的对象。这是有保证的。无法保证将返回DOMNode
的哪个子类。它可以是DOMElement
,也可以是domcoment
或DOMText
,并且列表可以包含任何顺序的任何组合。如果行为取决于返回的确切子类,则需要首先检查。