
WeakMap::getIterator를 사용하여 요소를 반복 처리할 때, 요소가 삭제되는 것을 방지하려면 WeakMap을 복사하여 사용하는 방법이 있습니다.
#hostingforum.kr
php
$weakMap = new WeakMap();
$weakMap->set('key', 'value');
$iterator = $weakMap->getIterator();
foreach ($iterator as $key => $value) {
// 요소가 삭제되는 것을 방지하기 위해 WeakMap을 복사하여 사용
$weakMapCopy = clone $weakMap;
echo $key . ': ' . $value . "n";
}
위의 예제에서, $weakMapCopy를 사용하여 요소를 반복 처리하면 요소가 삭제되는 것을 방지할 수 있습니다.
또한, WeakMap::getIterator를 사용하여 요소를 삭제하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$weakMap = new WeakMap();
$weakMap->set('key', 'value');
$iterator = $weakMap->getIterator();
foreach ($iterator as $key => $value) {
if ($key === 'key') {
// 요소를 삭제하려면 WeakMap::offsetUnset() 메서드를 사용
$weakMap->offsetUnset('key');
} else {
echo $key . ': ' . $value . "n";
}
}
위의 예제에서, $weakMap->offsetUnset('key') 메서드를 사용하여 요소를 삭제할 수 있습니다.
WeakMap::getIterator를 사용하여 요소를 반복 처리할 때, 요소가 삭제되는 것을 방지하고 요소를 삭제하는 방법을 위의 예제에서 설명했습니다.
2025-05-31 18:32