2013-10-29 58 views
0

我正在解析RSS提要,並嘗試根據rss數據更新我的Firebase。 如果我使用硬編碼字符串更新標題,例如'foo',它可以正常工作。Firebase「更新」是添加一個我不希望它添加的子節點

$sacarray = array('title' => 'foo'); 
    $response = $fb->update('/sac/past1', $sacarray); 

結果:

囊=> past1 =>標題:FOO

但是,如果我通過我的變量更新,它被加入下面 '標題' 的無意額外節點。

$items = $xml->channel->item; 
    for ($i = 1; $i < 2; $i++) 
    {  
     $sacarray = array('title' => $items[$i]->title); 
     $response = $fb->update('/sac/past1', $sacarray);  
    } 

所以它看起來在我的火力點,如:

囊=> past1 =>標題=> 0:FOO

不知道我做錯了。我有一個非常相似的代碼在一個不同的PHP文件中工作正常,所以我不知道我在做什麼不同。看起來好像它錯誤地解釋了$ items [$ i] - > title。

回答

0

我想通了。可能不是正確的解決方案,但我發現了一些可行的方法。

如果我想只需將RSS項目標題到一個新的變量,我仍然有同樣的問題:

$title = $items[$i]->title; 
$sacarray = array('title' => $title); 

但是,如果將一些東西附加到標題(空字符) - 那麼它決定把它當作一個字符串,一切都按照我所期望的那樣工作。

$title = $items[$i]->title.''; 
$sacarray = array('title' => $title); 

不知道這一點,如果這是一件用php字符串處理,我只是不知道,因爲事實上,我沒有做很多的PHP代碼。或者,如果這是由我用來解析rss提要的SimpleXmlElement類引起的。

更新:好吧,我只是想出了鑄造到一個字符串也工作。我仍然不明白爲什麼它需要鑄造。

+0

這可能是因爲它們是對象,因此需要將其轉換爲字符串 – random

+0

實際上,將字符串轉換爲字符串是您應該做的,而不是添加空白 – random