라이브러리

[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을 사용하여 키를 삭제하고, 키가 사용되지 않으면 자동으로 메모리에서 해제할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 8,985건 / 44 페이지

검색

게시물 검색