라이브러리
[PHP] WeakMap::offsetUnset - 맵에서 항목을 제거합니다.
WeakMap::offsetUnset
WeakMap은 PHP 7.3 버전부터 지원되는 데이터 구조입니다. WeakMap은 키가 객체일 때 사용하는 Map입니다. WeakMap은 키가 객체일 때, 키가 사용되지 않으면 자동으로 메모리에서 해제됩니다.
WeakMap::offsetUnset은 WeakMap에서 키를 삭제하는 메서드입니다. 이 메서드는 WeakMap의 키를 삭제하고, 키가 객체일 때, 키가 사용되지 않으면 자동으로 메모리에서 해제됩니다.
예제
#hostingforum.kr
php
class Person {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
$person = new Person('John');
$weakMap = new WeakMap();
// 키를 추가합니다.
$weakMap[$person] = 'value';
// 키를 삭제합니다.
unset($weakMap[$person]);
// 키가 사용되지 않으면 자동으로 메모리에서 해제됩니다.
unset($person);
WeakMap::offsetUnset 사용 예제
#hostingforum.kr
php
class Person {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
$person1 = new Person('John');
$person2 = new Person('Jane');
$weakMap = new WeakMap();
// 키를 추가합니다.
$weakMap[$person1] = 'value1';
$weakMap[$person2] = 'value2';
// 키를 삭제합니다.
unset($weakMap[$person1]);
// 키가 사용되지 않으면 자동으로 메모리에서 해제됩니다.
unset($person1);
// 키가 사용되지 않으면 자동으로 메모리에서 해제됩니다.
unset($person2);
WeakMap::offsetUnset 사용 예제 (객체가 사용중인 경우)
#hostingforum.kr
php
class Person {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
$person = new Person('John');
$weakMap = new WeakMap();
// 키를 추가합니다.
$weakMap[$person] = 'value';
// 키가 사용중인 경우, 키가 삭제되지 않습니다.
$person->name = 'Jane';
// 키가 삭제되지 않습니다.
unset($weakMap[$person]);
// 키가 삭제되지 않습니다.
unset($person);
WeakMap::offsetUnset 사용 예제 (객체가 사용중인 경우, 키가 삭제된 후)
#hostingforum.kr
php
class Person {
public $name;
public function __construct($name) {
$this->name = $name;
}
}
$person = new Person('John');
$weakMap = new WeakMap();
// 키를 추가합니다.
$weakMap[$person] = 'value';
// 키가 사용중인 경우, 키가 삭제되지 않습니다.
$person->name = 'Jane';
// 키가 삭제됩니다.
unset($weakMap[$person]);
// 키가 삭제됩니다.
unset($person);
결론
WeakMap::offsetUnset은 WeakMap에서 키를 삭제하는 메서드입니다. 이 메서드는 키가 객체일 때, 키가 사용되지 않으면 자동으로 메모리에서 해제됩니다. WeakMap::offsetUnset을 사용하여 키를 삭제하고, 키가 사용되지 않으면 자동으로 메모리에서 해제할 수 있습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.