PHP: Как я могу написать оператор IF, который определяет, когда значение XML равно NULL?

1

У меня возникли проблемы с выяснением того, как заставить мой оператор if распознавать, когда значение XML равно NULL. Кажется, что независимо от того, что я пытаюсь, <li> все еще печатаются.

// PHP sample
$a = $xml->sentence1;
$b = $xml->sentence2;

if ( isset($a) || !empty($b) ){
    echo '<ul>';
    if ($a !== NULL){
        echo '<li>' . $a . '</li>';
    }
    if ($b !== ''){
        echo '<li>' . $b . '</li>';
    }
    echo '</ul>';
}

// XML sample
<sentence1></sentence1>

Как вы можете видеть, я пробовал всевозможные вещи - NULL, isset(), empty() - но <li> всегда визуализируется.

  • 0
    рассмотрим приведение к строке: $a = (string) $xml->sentence1;
Теги:

1 ответ

1

Это сработало

if ( $a == true || $b == true ){
    echo '<ul>';
    if ($a == true){
        echo '<li>' . $a . '</li>';
    }
    if ($b == true){
        echo '<li>' . $b . '</li>';
    }
    echo '</ul>';
}

Это заставляет меня думать, что логические функции (например, "isset()") в этом случае были излишними, но мне интересно, почему они не работали, тем не менее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню