无法弄清楚如何确定 SimpleXML 节点是否为空

发布于 2024-09-30 03:43:54 字数 492 浏览 2 评论 0原文

所以我有这样的代码:

foreach ($xml->PrintQuestion as $PrintQuestion) {

     //if hint doesn't exist, store question id
     if (!$PrintQuestion->content->multichoice->feedback->hint->Passage) {

         fwrite($fp, "<contentid filename=\"$value\">" . $PrintQuestion->attributes()->id . "</contentid>");

     }

}

基本上,如果 Passage 节点存在,我会尝试将 ID 保存到 XML 文件,但它似乎会存储每个 ID,无论节点是否存在于 Passage 中。代码> 或不。

So I have this code:

foreach ($xml->PrintQuestion as $PrintQuestion) {

     //if hint doesn't exist, store question id
     if (!$PrintQuestion->content->multichoice->feedback->hint->Passage) {

         fwrite($fp, "<contentid filename=\"$value\">" . $PrintQuestion->attributes()->id . "</contentid>");

     }

}

Basically, I'm trying to save IDs to an XML file if the Passage node exists, but it seems to be storing every ID whether nodes exist within Passage or not.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

汐鸠 2024-10-07 03:43:54

如果您使用 empty() 会发生什么

if( empty($PrintQuestion->content->multichoice->feedback->hint->Passage) ) {

    fwrite($fp, "<contentid filename=\"$value\">" . $PrintQuestion->attributes()->id . "</contentid>");      

}

What happens if you use empty()

if( empty($PrintQuestion->content->multichoice->feedback->hint->Passage) ) {

    fwrite($fp, "<contentid filename=\"$value\">" . $PrintQuestion->attributes()->id . "</contentid>");      

}
寂寞陪衬 2024-10-07 03:43:54

您可以将值转换为字符串并与空字符串进行比较(有点像 如何检查 simplexml 对象的值):

$value = $root->child;

if ((string)$value === '') {
  echo 'This passes if the child element existed, but was empty';
}

You can cast the value as a string and compare to an empty string (sort of like how to check a value of simplexml object):

$value = $root->child;

if ((string)$value === '') {
  echo 'This passes if the child element existed, but was empty';
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文