SplObjectStorage를 데이터 맵으로 사용하면 가변 배열을 데이터로 사용할 수 있습니까?

StackOverflow https://stackoverflow.com/questions/9380430

문제

다음 코드에서 : 라코 디스

나는 $storage[$fooA]1가 될 것으로 예상합니다.나는 또한 $storage[$fooB]array('test')가 될 것이라고 기대할 것입니다.이것은 또한 "SplObjectStorage의 오버로드 된 요소를 간접적으로 수정해도 효과가 없습니다 ..."라는 알림을 트리거합니다.

ArrayAccessSplObjectStorage 구현이 참조로 값을 반환하지 않기 때문에 이런 일이 발생한다고 생각합니다.

키가 객체이고 값이 가변 배열 인 데이터 맵으로 SplObjectStorage를 사용할 수있는 방법이 있습니까?이런 종류의 작업을 수행 할 수있는 다른 실행 가능한 옵션이 있습니까?

도움이 되었습니까?

해결책

간접 수정 (예 : 참조를 반환하는 유전자 코드 태그 코드)은 최근의 능력입니다. offsetGet에 대한 참고 사항 을 참조하세요.SplObjectStorage가 사용하지 않는 것 같습니다 (아직?).

대신 직접 수정을 사용하는 것이 좋습니다. 라코 디스

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top