PHP預定義介面中 ArrayAccess 數組式提供者

來源:互聯網
上載者:User

標籤:

<?phpclass  obj  implements  arrayaccess  {    private  $container  = array();        public function  __construct () {         $this -> container  = array(             "one"    =>  1 ,             "two"    =>  2 ,             "three"  =>  3 ,        );    }        public function  offsetSet ( $offset ,  $value )     {        echo ‘把對象當數組一樣賦值的時候執行,此方法‘;        if ( is_null ( $offset ))         {             $this -> container [] =  $value ;        }        else        {             $this -> container [ $offset ] =  $value ;        }    }        public function  offsetExists ( $offset )     {        echo ‘把對象當數組一樣檢測是否定義的時候執行,此方法‘;                return isset( $this -> container [ $offset ]);    }        public function  offsetUnset ( $offset )     {        echo ‘把對象當數組一樣刪除元素的時候執行,此方法‘;        unset( $this -> container [ $offset ]);    }        public function  offsetGet ( $offset )     {         echo ‘把對象當數組一樣擷取某元素的時候執行,此方法‘;        return isset( $this -> container [ $offset ]) ?  $this -> container [ $offset ] :  null ;    } }$obj  = new  obj ;var_dump (isset( $obj [ "two" ]));var_dump ( $obj [ "two" ]);unset( $obj [ "two" ]);var_dump (isset( $obj [ "two" ]));$obj [ "two" ] =  "A value" ;var_dump ( $obj [ "two" ]);$obj [‘a‘] =  ‘Append 1‘ ;$obj [‘b‘] =  ‘Append 2‘ ;$obj [‘c‘] =  ‘Append 3‘ ;print_r ( $obj );

 

PHP預定義介面中 ArrayAccess 數組式提供者

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.