Причина, по которой DOMElement :: getAttribute () возвращает пустую строку, когда такого атрибута нет - PullRequest
1 голос
/ 04 июня 2011

В php документах указано:

Возвращаемые значения

Значение атрибута или пустая строка, еслиатрибут с указанным именем не найден.

Кто-нибудь знает причину возврата пустой строки вместо NULL?

Ответы [ 2 ]

2 голосов
/ 04 июня 2011

Дело в том, что спецификация DOM не зависит от платформы. Он был написан для реализации на самых разных языках программирования, поэтому он не предполагает существование таких типов, как null. W3C может предполагать существование строкового типа, поэтому можно использовать пустую строку.

Итак, спецификация выглядит так:

DOMString                 getAttribute(in DOMString name);

Таким образом, строка является ожидаемым типом на кроссплатформенной основе. DOMDocument PHP соответствует этому.

1 голос
/ 04 июня 2011

Я не думаю, что это действительно имеет значение, что он возвращает. Чтобы проверить достоверность результата, вам все равно нужно позвонить DOMElement::hasAttribute().

Это может быть просто потому, что они хотят, чтобы все было просто и чтобы все возвращало строки вместо магического значения другого типа (например, null).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...