PHP:数组不保留值

时间:2012-12-27 19:07:57

标签: php arrays

此剪辑的目标是循环描述资源的数组数组。 然后循环一组字幕信息。如果匹配,请将该标题添加到此resource_node索引。

第一个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有效。所以我知道标题被分配给某个数组,并且除了循环执行后丢失的标题之外,数组是相同的。

知道造成这种情况的原因是什么?

1 个答案:

答案 0 :(得分:0)

您的$ resource变量是按值设置的,而不是按引用设置的。尝试:

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

请注意'&'。