A classe SplFixedArray
(PHP 5 >= 5.3.0, PHP 7, PHP 8)
Introdução
A classe SplFixedArray fornece as principais funcionalidades de um array. A principal diferença entre um SplFixedArray e um array PHP normal é que o SplFixedArray deve ser redimensionado manualmente e permite apenas inteiros dentro do intervalo como índices. A vantagem é que ele usa menos memória do que um array padrão.
Resumo da classe
/* Métodos */
}Registro de Alterações
Versão | Descrição |
---|---|
8.2.0 | Os métodos mágicos SplFixedArray::__serialize() e SplFixedArray::__unserialize() foram adicionados à classe SplFixedArray. |
8.1.0 | SplFixedArray implementa JsonSerializable agora. |
8.0.0 | SplFixedArray implementa IteratorAggregate agora. Anteriormente, implementava Iterator. |
Exemplos
Example #1 Exemplo de uso de SplFixedArray
<?php
// Inicialize o array com um comprimento fixo
$array = new SplFixedArray(5);
$array[1] = 2;
$array[4] = "foo";
var_dump($array[0]); // NULL
var_dump($array[1]); // int(2)
var_dump($array["4"]); // string(3) "foo"
// Aumenta o tamanho do array para 10
$array->setSize(10);
$array[9] = "asdf";
// Reduz o array para um tamanho de 2
$array->setSize(2);
// As seguintes linhas lançam uma RuntimeException: Índice inválido ou fora do intervalo
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";
}
?>
O exemplo acima produzirá:
NULL int(2) string(3) "foo" RuntimeException: Index invalid or out of range RuntimeException: Index invalid or out of range RuntimeException: Index invalid or out of range
Table of Contents
- SplFixedArray::__construct — Constrói um novo array fixo
- SplFixedArray::count — Retorna o tamanho do array
- SplFixedArray::current — Retorna a entrada atual do array
- SplFixedArray::fromArray — Importa um array PHP em uma instância SplFixedArray
- SplFixedArray::getIterator — Recupera o iterador para percorrer o array
- SplFixedArray::getSize — Obtém o tamanho do array
- SplFixedArray::jsonSerialize — Retorna uma representação que pode ser convertida em JSON
- SplFixedArray::key — Retorna o índice atual do array
- SplFixedArray::next — Move para a próxima entrada
- SplFixedArray::offsetExists — Retorna se o índice solicitado existe
- SplFixedArray::offsetGet — Retorna o valor no índice especificado
- SplFixedArray::offsetSet — Define um novo valor em um índice especificado
- SplFixedArray::offsetUnset — Remove o valor no $index especificado
- SplFixedArray::rewind — Rebobina o iterador de volta ao início
- SplFixedArray::__serialize — Serializa o objeto SplFixedArray
- SplFixedArray::setSize — Altera o tamanho de um array
- SplFixedArray::toArray — Retorna um array PHP do array fixo
- SplFixedArray::__unserialize — Desserializa o parâmetro data em um objeto SplFixedArray
- SplFixedArray::valid — Verifica se o array contém mais elementos
- SplFixedArray::__wakeup — Reinicializa o array após ser desserializado