라이브러리

[PHP] WeakMap::offsetGet - 특정 객체가 가리키는 값을 반환합니다.




WeakMap::offsetGet

PHP 7.3.0 버전부터 WeakMap 클래스가 추가되었습니다. WeakMap은 키와 값의 관계를 저장하는 자료구조입니다. WeakMap은 키가 객체일 때, 키를 참조하지 않는 경우에 키가 가비지 컬렉션에 의해 삭제될 수 있습니다.

WeakMap::offsetGet 메소드는 WeakMap에서 특정 키에 해당하는 값을 가져오는 메소드입니다. 이 메소드는 키가 객체일 때, 키를 참조하지 않는 경우에 키가 가비지 컬렉션에 의해 삭제될 수 있습니다.

예제


#hostingforum.kr
php

class Person {

    public $name;



    public function __construct($name) {

        $this->name = $name;

    }

}



$person = new Person('John');



$weakMap = new WeakMap();



$weakMap[$person] = 'Hello, ' . $person->name;



// 키를 참조하지 않으면 키가 가비지 컬렉션에 의해 삭제될 수 있습니다.

unset($person);



// 키가 삭제된 후에 offsetGet 메소드를 호출하면 NULL을 반환합니다.

var_dump($weakMap->offsetGet($person));



WeakMap::offsetGet 메소드의 특징


- 키가 객체일 때, 키를 참조하지 않는 경우에 키가 가비지 컬렉션에 의해 삭제될 수 있습니다.
- 키가 삭제된 후에 offsetGet 메소드를 호출하면 NULL을 반환합니다.
- 키가 객체일 때, 키를 참조하지 않는 경우에 키가 가비지 컬렉션에 의해 삭제될 수 있습니다.

WeakMap::offsetGet 메소드의 사용 예제


#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] = 'Hello, ' . $person1->name;

$weakMap[$person2] = 'Hello, ' . $person2->name;



// 키를 참조하지 않으면 키가 가비지 컬렉션에 의해 삭제될 수 있습니다.

unset($person1);



// 키가 삭제된 후에 offsetGet 메소드를 호출하면 NULL을 반환합니다.

var_dump($weakMap->offsetGet($person1)); // NULL



// 키가 삭제되지 않은 경우에 offsetGet 메소드를 호출하면 값이 반환됩니다.

var_dump($weakMap->offsetGet($person2)); // Hello, Jane



WeakMap::offsetGet 메소드의 장점


- 키가 객체일 때, 키를 참조하지 않는 경우에 키가 가비지 컬렉션에 의해 삭제될 수 있습니다.
- 키가 삭제된 후에 offsetGet 메소드를 호출하면 NULL을 반환합니다.

WeakMap::offsetGet 메소드의 단점


- 키가 객체일 때, 키를 참조하지 않는 경우에 키가 가비지 컬렉션에 의해 삭제될 수 있습니다. 이 경우에 키가 삭제된 후에 offsetGet 메소드를 호출하면 NULL을 반환합니다.

결론


WeakMap::offsetGet 메소드는 WeakMap에서 특정 키에 해당하는 값을 가져오는 메소드입니다. 이 메소드는 키가 객체일 때, 키를 참조하지 않는 경우에 키가 가비지 컬렉션에 의해 삭제될 수 있습니다. WeakMap::offsetGet 메소드는 키가 삭제된 후에 offsetGet 메소드를 호출하면 NULL을 반환합니다. WeakMap::offsetGet 메소드는 키가 객체일 때, 키를 참조하지 않는 경우에 키가 가비지 컬렉션에 의해 삭제될 수 있습니다. 이 경우에 키가 삭제된 후에 offsetGet 메소드를 호출하면 NULL을 반환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

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

검색

게시물 검색