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::__serializeSplFixedArray::__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;