라이브러리

[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을 반환합니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 77건 / 2 페이지

검색

게시물 검색