在php文档中,它说:
返回值
属性的值,如果找不到具有给定名称的属性,则为空字符串。
有人知道返回空字符串而不是仅返回NULL
的原因吗?
重点是DOM规范不是特定于平台的。它是为在各种编程语言中实现而编写的,因此它倾向于不假设存在null
等类型。W3C可以假设存在字符串类型,因此使用空字符串是安全的。
因此,规范如下:
DOMString getAttribute(in DOMString name);
因此,字符串是跨平台的预期类型。PHP的DOMDocument符合这一点。
我认为它返回什么并不重要。要检查结果的有效性,您无论如何都需要调用DOMElement::hasAttribute()
。
这可能只是因为他们想保持简单,让所有东西都返回字符串,而不是不同类型的神奇值(如null
)。