Класс 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; Пример использования <classname>SplFixedArray</classname> 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;