Revision: 55774
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 22, 2012 04:38 by prwhitehead
Initial Code
class array_test implements ArrayAccess, Iterator, Countable
{
private $container = array();
public function __construct() {}
/*
* to use ArrayAccess
*/
public function offsetSet($offset,$value)
{
if ($offset == "")
{
$this->container[] = $value;
}
else
{
$this->container[$offset] = $value;
}
}
/*
* to use ArrayAccess
*/
public function offsetExists($offset)
{
return isset($this->container[$offset]);
}
/*
* to use ArrayAccess
*/
public function offsetUnset($offset)
{
unset($this->container[$offset]);
}
/*
* to use ArrayAccess
*/
public function offsetGet($offset)
{
return isset($this->container[$offset]) ? $this->container[$offset] : null;
}
/*
* to use Iterator
*/
public function rewind()
{
reset($this->container);
}
/*
* to use Iterator
*/
public function current()
{
return current($this->container);
}
/*
* to use Iterator
*/
public function key()
{
return key($this->container);
}
/*
* to use Iterator
*/
public function next()
{
return next($this->container);
}
/*
* to use Iterator
*/
public function valid()
{
return $this->current() !== false;
}
/*
* to use Countable
*/
public function count()
{
return count($this->container);
}
}
Initial URL
Initial Description
use an object as an array
Initial Title
PHP SPL ArrayAccess Iterator countable class
Initial Tags
class, php
Initial Language
PHP