2012-12-27 4 views
0

이 스 니펫의 목표는 리소스를 설명하는 배열의 배열을 반복하는 것이 었습니다. 그런 다음 자막 정보의 배열을 반복합니다. 일치하는 경우 해당 캡션을 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

관련 문제