繁体   English   中英

没有此类属性时 DOMElement::getAttribute() 返回空字符串的原因

[英]Reason for DOMElement::getAttribute() returning an empty string when there is no such attribute

php 文档中它说:

返回值

属性的值,如果没有找到具有给定名称的属性,则为空字符串。

有谁知道返回空字符串而不仅仅是NULL的原因?

关键是 DOM 规范不是特定于平台的。 它被编写为用多种编程语言实现,因此它倾向于不假设存在诸如null之类的类型。 W3C 可以假定存在字符串类型,因此使用空字符串是安全的。

所以规范是这样写的:

DOMString                 getAttribute(in DOMString name);

因此,字符串是跨平台的预期类型。 PHP 的 DOMDocument 符合这一点。

我认为它返回什么并不重要。 要检查结果的有效性,您无论如何都需要调用DOMElement::hasAttribute()

这可能只是因为他们希望保持简单并让所有内容都返回字符串而不是不同类型的魔法值(如null )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM