Класс SplFixedArray
SplFixedArray
&reftitle.intro;
Класс SplFixedArray обеспечивает базовую функциональность,
предоставляемую массивами.
Главное различие между SplFixedArray и обычным массивом PHP в том,
что размер SplFixedArray необходимо изменять вручную, а в
качестве индексов могут выступать только целочисленные значения.
Преимущество данных ограничений заключается в меньшем использовании памяти, чем стандартный массив (array).
&reftitle.classsynopsis;
SplFixedArray
implements
IteratorAggregate
ArrayAccess
Countable
JsonSerializable
&Methods;
&reftitle.changelog;
&Version;
&Description;
8.2.0
Магические методы SplFixedArray::__serialize и
SplFixedArray::__unserialize добавлены
в SplFixedArray.
8.1.0
Класс SplFixedArray теперь реализует
интерфейс JsonSerializable.
8.0.0
Класс SplFixedArray теперь реализует
интерфейс IteratorAggregate.
Ранее был реализован интерфейс Iterator.
&reftitle.examples;
Пример использования SplFixedArray
setSize(10);
$array[9] = "asdf";
// Сокращаем размер массива до 2-х
$array->setSize(2);
// Следующий код вызывает исключение RuntimeException: Index invalid or out of range
try {
var_dump($array["non-numeric"]);
} catch(RuntimeException $re) {
echo "RuntimeException: ".$re->getMessage()."\n";
}
try {
var_dump($array[-1]);
} catch(RuntimeException $re) {
echo "RuntimeException: ".$re->getMessage()."\n";
}
try {
var_dump($array[5]);
} catch(RuntimeException $re) {
echo "RuntimeException: ".$re->getMessage()."\n";
}
?>
]]>
&example.outputs;
&reference.spl.entities.splfixedarray;