Чтобы проверить, имеет ли объект SimpleXMLElement
текстовое значение, вам нужно привести его в виде строки:
$desc = (string)$array['Description'];
if (!empty($desc)) {
echo $desc;
}
Несмотря на то, что вы можете напрямую echo
содержимое объекта SimpleXMLElement
, для использования его строкового значения в качестве переменной требуется его приведение. empty()
должен воздействовать на переменную 1 , поэтому неявный вызов элемента __toString()
не будет работать, как это происходит с echo
.
1 Начиная с PHP 5.5, empty()
может проверять результат произвольного выражения. Больше не требуется переменная в качестве аргумента.