Klasa SplFixedArray
SplFixedArray
&reftitle.intro;
Klasa SplFixedArray oferuje główne funkcjonalności tablic. Główną
różnicą między SplFixedArray a zwykłą tablicą w PHP jest fakt, że
SplFixedArray musi mieć ręcznie zmieniony rozmiar i pozwala tylko na
klucze numeryczne z określonego zakresu. Zaletą jest fakt, że używa mniej pamięci
niż standardowy typ array.
&reftitle.classsynopsis;
SplFixedArray
implements
IteratorAggregate
ArrayAccess
Countable
JsonSerializable
&Methods;
&reftitle.changelog;
&Version;
&Description;
8.2.0
Dodano metody magiczne SplFixedArray::__serialize oraz
SplFixedArray::__unserialize
do klasy SplFixedArray.
8.1.0
SplFixedArray implementuje teraz
JsonSerializable.
8.0.0
SplFixedArray implementuje teraz
IteratorAggregate.
Wcześniej zamiast tego implementowany był Iterator.
&reftitle.examples;
Przykład użycia SplFixedArray
setSize(10);
$array[9] = "asdf";
// Zmniejsz rozmiar tablicy do 2
$array->setSize(2);
// Poniższe linie spowodują rzucenie RuntimeException: Index invalid or out of range,
// czyli "niepoprawny indeks lub poza zakresem"
try {
var_dump($array["indeks-nienumeryczny"]);
} 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;