У меня возникли проблемы с выяснением того, как заставить мой оператор 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> всегда визуализируется.
Это сработало
if ( $a == true || $b == true ){
echo '<ul>';
if ($a == true){
echo '<li>' . $a . '</li>';
}
if ($b == true){
echo '<li>' . $b . '</li>';
}
echo '</ul>';
}
Это заставляет меня думать, что логические функции (например, "isset()") в этом случае были излишними, но мне интересно, почему они не работали, тем не менее.
$a = (string) $xml->sentence1;