как проверить значение объекта simplexml - PullRequest
4 голосов
/ 10 ноября 2011

У меня есть массив, который является простым объектом XML.я пишу коды ниже

Array
(
[ID] => 1992109
[Title] => A Equipa do MAIS
[Description] => SimpleXMLElement Object
    (
    )
 )

Теперь, как я могу проверить значение Description в этом массиве, что, если есть значение Description присутствует или нет.

1 Ответ

8 голосов
/ 10 ноября 2011

Чтобы проверить, имеет ли объект SimpleXMLElement текстовое значение, вам нужно привести его в виде строки:

$desc = (string)$array['Description'];
if (!empty($desc)) {
  echo $desc;
}

Несмотря на то, что вы можете напрямую echo содержимое объекта SimpleXMLElement, для использования его строкового значения в качестве переменной требуется его приведение. empty() должен воздействовать на переменную 1 , поэтому неявный вызов элемента __toString() не будет работать, как это происходит с echo.


1 Начиная с PHP 5.5, empty() может проверять результат произвольного выражения. Больше не требуется переменная в качестве аргумента.

...