PHP: Как мне заполнить член моего объекта строкой? - PullRequest
0 голосов
/ 13 января 2012

У меня проблема со смещениями, потому что когда нет заголовка, вместо <cd title="No Title">, в моем XML-файле <cd>.

Когда атрибут заголовка отсутствует, я хочу добавить строку «Без заголовка» в title член моего объекта cd.

Пожалуйста, посмотрите на следующий код:

//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
                )

Спасибо.

1 Ответ

2 голосов
/ 13 января 2012

DOMXPath::query() возвращает DOMNodeList, поэтому ваше заявление

if (!$areTitles)

никогда не будет оцениваться как истинное.

Вместо этого попробуйте

if (0 == $areTitles->length)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...