SplFixedArray::offsetUnset
(PHP 5 >= 5.3.0, PHP 7)
SplFixedArray::offsetUnset — Удаляет значение по индексу $index
Описание
public void SplFixedArray::offsetUnset
( int
$index
)Удаляет значение по заданному индексу.
Список параметров
-
index
-
Индекс, по которому удаляется значение.
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
Ошибки
Выбрасывает исключение RuntimeException, когда
index
превышает заданный размер массива или
когда index
нельзя распознать как целое число.
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Другие базовые расширения
- Стандартная библиотека PHP (SPL)
- Структуры данных
- Функция SplFixedArray::__construct() - Создает новый массив фиксированной длины
- Функция SplFixedArray::count() - Возвращает размер массива
- Функция SplFixedArray::current() - Возвращает текущий элемент массива
- Функция SplFixedArray::fromArray() - Импортирует PHP-массив в объект класса SplFixedArray
- Функция SplFixedArray::getSize() - Получает размер массива
- Функция SplFixedArray::key() - Возвращает индекс текущего элемента массива
- Функция SplFixedArray::next() - Переходит к следующему элементу массива
- Функция SplFixedArray::offsetExists() - Возвращает факт наличия указанного индекса массива
- Функция SplFixedArray::offsetGet() - Возвращает значение по указанному индексу
- Функция SplFixedArray::offsetSet() - Устанавливает новое значение по заданному индексу
- Функция SplFixedArray::offsetUnset() - Удаляет значение по индексу $index
- Функция SplFixedArray::rewind() - Выставляет итератор массива в начало
- Функция SplFixedArray::setSize() - Изменяет размер массива
- Функция SplFixedArray::toArray() - Возвращает обычный PHP-массив со значениями фиксированного массива
- Функция SplFixedArray::valid() - Проверяет массив на наличие элементов
- Функция SplFixedArray::__wakeup() - Reinitialises the array after being unserialised
Коментарии
This function assigns NULL to the array element. Its use has no effect on count(). Whereas assigning NULL to an element will have no effect on isset(), offsetUnset() and unset() do. Whereas unsetting an element affects the behaviour of foreach() as applied to an array or an ArrayObject, it has no such effect on SplFixedArray, as demonstrated by the code below.
<?php
class atest extends SplFixedArray {
public function fill() {
for ($i = $this->count(); --$i >= 0; ) $this[$i] = $i;
}
public function dump() {
$sep = ' ';
foreach ($this as $k => $v) {
echo $sep, "$k: ", (is_null($v) ? 'NULL' : $v);
if (!isset($this[$k])) echo ' and unset';
$sep = ', ';
}
echo PHP_EOL;
}
}
$a = new atest(3);
$a->dump(); // 0: NULL and unset, 1: NULL and unset, 2: NULL and unset
$a->fill();
$a->dump(); // 0: 0, 1: 1, 2: 2
$a[1] = NULL;
unset($a[2]);
$a->dump(); // 0: 0, 1: NULL, 2: NULL and unset
?>