
ArrayAccess::offsetUnset 메서드는 배열의 키를 삭제하는 메서드입니다.
예를 들어, 다음 코드를 살펴보겠습니다.
#hostingforum.kr
php
class MyClass implements ArrayAccess {
private $data = [];
public function offsetUnset($key) {
unset($this->data[$key]);
}
}
$obj = new MyClass();
$obj['key'] = 'value';
$obj->offsetUnset('key');
var_dump($obj->data); // 빈 배열이 출력됩니다.
위 코드에서 offsetUnset 메서드는 배열의 키 'key'를 삭제합니다.
하지만, offsetUnset 메서드는 실제로 배열의 요소를 삭제하는 것이 아니라, 배열의 키를 삭제하는 것입니다.
만약, 배열의 요소를 삭제하고 싶다면, unset 함수를 직접 사용하는 것이 좋습니다.
#hostingforum.kr
php
class MyClass implements ArrayAccess {
private $data = [];
public function offsetUnset($key) {
unset($this->data[$key]);
}
public function offsetGet($key) {
return $this->data[$key];
}
}
$obj = new MyClass();
$obj['key'] = 'value';
unset($obj['key']);
var_dump($obj->offsetGet('key')); // NULL이 출력됩니다.
2025-03-05 15:30