La clase SplFixedArray
SplFixedArray
&reftitle.intro;
la clase SplFixedArray proporciona la funcionalidad principal de un array. La
principal diferencia entre SplFixedArray y un array normal de PHP es que
la clase SplFixedArray es de longitud fija y sólo permite enteros dentro del
rango de índices. La ventaja es que usa menos memoría que un
array estándar.
&reftitle.classsynopsis;
SplFixedArray
implements
IteratorAggregate
ArrayAccess
Countable
JsonSerializable
&Methods;
&reftitle.changelog;
&Version;
&Description;
8.4.0
Los accesos fuera de los límites en SplFixedArray
ahora lanzan excepciones de tipo
OutOfBoundsException en lugar de
RuntimeException.
Dado que OutOfBoundsException es una clase
hija de RuntimeException, no se produce
ningún cambio de comportamiento al intentar capturar esas excepciones.
8.2.0
Se han añadido los métodos mágicos SplFixedArray::__serialize y
SplFixedArray::__unserialize
a SplFixedArray.
8.1.0
SplFixedArray ahora implementa
JsonSerializable.
8.0.0
SplFixedArray ahora implementa
IteratorAggregate.
Anteriormente, se implementaba Iterator en su lugar.
&reftitle.examples;
Ejemplo de uso SplFixedArray
setSize(10);
$array[9] = "asdf";
// Reducir el tamaño de un array a 2
$array->setSize(2);
// Las siguientes líneas lanzan una RuntimeException: Index invalid or out of range (Índice inválido o fuera de rango)
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;