码迷,mamicode.com
首页 > 数据库 > 详细

PHP预定义接口中 ArrayAccess 数组式访问接口

时间:2016-08-05 13:31:48      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

<?php
class  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 数组式访问接口

标签:

原文地址:http://www.cnblogs.com/sixiong/p/5740672.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!