Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Интерфейс ArrayAccess
(PHP 5 >= 5.0.0)
Введение
Интерфейс обеспечивает доступ к объектам как к массиву.
Обзор интерфейсов
ArrayAccess {
/* Методы */
abstract public boolean offsetExists ( mixed $offset )
abstract public mixed offsetGet ( mixed $offset )
abstract public void offsetSet ( mixed $offset , mixed $value )
abstract public void offsetUnset ( mixed $offset )
}
Пример #1 Основы использования
class obj implements arrayaccess {
private $container = array();
public function __construct() {
$this->container = array(
"one" => 1,
"two" => 2,
"three" => 3,
);
}
public function offsetSet($offset, $value) {
if (is_null($offset)) {
$this->container[] = $value;
} else {
$this->container[$offset] = $value;
}
}
public function offsetExists($offset) {
return isset($this->container[$offset]);
}
public function offsetUnset($offset) {
unset($this->container[$offset]);
}
public function offsetGet($offset) {
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[] = 'Append 1';
$obj[] = 'Append 2';
$obj[] = 'Append 3';
print_r($obj);
Результатом выполнения данного примера будет что-то подобное:
bool(true) int(2) bool(false) string(7) "A value" obj Object ( [container:obj:private] => Array ( [one] => 1 [three] => 3 [two] => A value [0] => Append 1 [1] => Append 2 [2] => Append 3 ) )
Содержание
- ArrayAccess::offsetExists — Определяет, существует ли заданное смещение (ключ)
- ArrayAccess::offsetGet — Возвращает заданное смещение (ключ)
- ArrayAccess::offsetSet — Устанавливает заданное смещение (ключ)
- ArrayAccess::offsetUnset — Удаляет смещение
Описание класса arrayaccess, примеры использования класса arrayaccess.
Смотрите также:
Описание на ru2.php.net
Описание на php.ru