라이브러리
[PHP] ArrayAccess::offsetGet - 검색할 오프셋
PHP에서 ArrayAccess는 인터페이스입니다. 이 인터페이스를 구현한 클래스는 배열과 유사한 방식으로 접근할 수 있습니다. offsetGet 메소드는 특정 키에 해당하는 값을 반환합니다.
ArrayAccess::offsetGet
offsetGet 메소드는 특정 키에 해당하는 값을 반환합니다. 이 메소드는 인덱스 키를 받고, 해당 키에 해당하는 값을 반환합니다. 만약 키가 존재하지 않으면, 이 메소드는 NULL을 반환합니다.
예제
#hostingforum.kr
php
class MyArray implements ArrayAccess {
private $data;
public function __construct() {
$this->data = [];
}
public function offsetGet($key) {
return $this->data[$key] ?? null;
}
public function offsetSet($key, $value) {
$this->data[$key] = $value;
}
public function offsetExists($key) {
return array_key_exists($key, $this->data);
}
public function offsetUnset($key) {
unset($this->data[$key]);
}
}
// 예제를 사용해 보겠습니다.
$array = new MyArray();
// 키가 존재하지 않으면 NULL을 반환합니다.
var_dump($array['key']); // NULL
// 키를 추가합니다.
$array['key'] = 'value';
// 키에 해당하는 값을 반환합니다.
var_dump($array['key']); // string(5) "value"
// 키가 존재하지 않으면 NULL을 반환합니다.
var_dump($array['non-existent-key']); // NULL
ArrayAccess 인터페이스 구현
ArrayAccess 인터페이스를 구현하려면, offsetGet, offsetSet, offsetExists, offsetUnset 메소드를 구현해야 합니다.
- offsetGet: 특정 키에 해당하는 값을 반환합니다.
- offsetSet: 특정 키에 값을 추가합니다.
- offsetExists: 특정 키가 존재하는지 여부를 반환합니다.
- offsetUnset: 특정 키를 삭제합니다.
ArrayAccess 인터페이스 구현 예제
#hostingforum.kr
php
class MyArray implements ArrayAccess {
private $data;
public function __construct() {
$this->data = [];
}
public function offsetGet($key) {
return $this->data[$key] ?? null;
}
public function offsetSet($key, $value) {
$this->data[$key] = $value;
}
public function offsetExists($key) {
return array_key_exists($key, $this->data);
}
public function offsetUnset($key) {
unset($this->data[$key]);
}
}
ArrayAccess 인터페이스 구현의 장점
ArrayAccess 인터페이스를 구현하는 클래스는 배열과 유사한 방식으로 접근할 수 있습니다. 또한, 키가 존재하지 않으면 NULL을 반환하므로, 안전하게 값을 접근할 수 있습니다.
ArrayAccess 인터페이스 구현의 단점
ArrayAccess 인터페이스를 구현하는 클래스는 배열과 유사한 방식으로 접근할 수 있지만, 배열과는 다른 방식으로 동작할 수 있습니다. 예를 들어, offsetSet 메소드는 키가 존재하지 않으면 키를 추가합니다. 배열에서는 키가 존재하지 않으면 NULL을 반환합니다.
댓글목록
등록된 댓글이 없습니다.