2012-12-27 131 views
0

這個snip的目標是循環一組描述資源的數組。 然後循環一組標題信息。如果它們匹配,則將該標題添加到此resource_node索引。PHP:數組不保留值

第一個echo print_r($resource);具有'標題'索引鍵。

第二個echo print_r($this->resource_nodes);不顯示標題鍵。

我不知道在這個剪輯中出了什麼問題。

foreach ($this->resource_nodes as $resource) { 
    foreach ($this->captions as $caption) { 
     if ($resource['attachment id'] === $caption['id']) { 
      $resource['caption'] = $caption['content']; 
      echo print_r($resource); 
     } 
    } 
} 
echo print_r($this->resource_nodes); 

比較echo的作品。所以我知道字幕被分配給一些數組,並且除了循環執行後缺少標題以外,數組是相同的。

任何想法是什麼造成這種情況?

回答

0

您的$ resource變量是通過值來設置的,而不是通過引用。請嘗試:

foreach ($this->resource_nodes as &$resource) { 

注意'&'。

+0

非常感謝。我忘記了明確的參考。 – Chris