PHP:如何用字符串填充对象的成员


PHP: How do I populate a member of my object with a string?

我在偏移量方面遇到了问题,因为当我的xml文件中没有标题时,我的标题不是<cd title="No Title">,而是<cd>

当没有title属性时,我想将字符串"no title"添加到我的cd对象的title成员中。

请查看以下代码:

//SEEMS TO WORK
foreach ($Steps as $step){
  $cd->SetCD($cdkey->nodeValue);
  $titleQuery = './@title';
  $nullTitle = "No Title Listed";
  $areTitles  = $xpath->query($titleQuery, $step);
  //DOES NOT WORK
  if (!$areTitles)
  {
    $entry->SetTitles($title->$nullTitle)
  }
  //END DOES NOT WORK
  //WORKS
  else{
    $entry->SetTitles($title->$titleQuery) 
  }
}

如何更改//DOES NOT WORK//END DOES NOT WORK之间的行,或代码的其余部分,以便获得所需的结果:

 [title:Entry:private] => Array
                (
                    [0] => no title
                    [1] => no title
                    [2] => Bounce
                    [3] => Bound
                    [4] => Bounty
                )

而不是:

 [title:Entry:private] => Array
                (
                    [0] => Bounce
                    [1] => Bound
                    [2] => Bounty
                )

谢谢。

DOMXPath::query()返回一个DOMNodeList,因此您的语句

if (!$areTitles)

永远不会评估为真。

相反,尝试

if (0 == $areTitles->length)