2012-01-13 27 views
0

我有一个偏移量的问题,因为当没有标题时,而不是<cd title="No Title">,我在我的xml文件中有<cd>PHP:如何用字符串填充我的对象的成员?

当没有标题属性时,我想向我的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 
       ) 

谢谢。

回答

2

DOMXPath::query()返回DOMNodeList所以你的发言

if (!$areTitles) 

将永远不会计算为true。

相反,尝试

if (0 == $areTitles->length) 
+0

这个工作。它使输出值为空。它被处理,所以这不是重要的,但是有没有办法用一个字符串来填充它们呢? – 2012-01-13 04:00:22

+1

正确的块基本上是检查数组是否为空,对吗? – 2012-01-13 04:03:26

+0

明白了,菲尔我把'$ title - > $ mystring'改成了'$ mystring' – 2012-01-13 04:15:25