SPLFIXEDARRAY(3) 1 SPLFIXEDARRAY(3)
The SplFixedArray class
INTRODUCTION
The SplFixedArray class provides the main functionalities of array. The main differences between a SplFixedArray and a normal PHP array is
that the SplFixedArray is of fixed length and allows only integers within the range as indexes. The advantage is that it allows a faster
array implementation.
CLASS SYNOPSIS
SplFixedArray
SplFixedArrayIteratorArrayAccessCountable
Methods
o public SplFixedArray::__construct ([int $size])
o public int SplFixedArray::count (void )
o public mixed SplFixedArray::current (void )
o publicstatic SplFixedArray SplFixedArray::fromArray (array $array, [bool $save_indexes = true])
o public int SplFixedArray::getSize (void )
o public int SplFixedArray::key (void )
o public void SplFixedArray::next (void )
o public bool SplFixedArray::offsetExists (int $index)
o public mixed SplFixedArray::offsetGet (int $index)
o public void SplFixedArray::offsetSet (int $index, mixed $newval)
o public void SplFixedArray::offsetUnset (int $index)
o public void SplFixedArray::rewind (void )
o public int SplFixedArray::setSize (int $size)
o public array SplFixedArray::toArray (void )
o public bool SplFixedArray::valid (void )
o public void SplFixedArray::__wakeup (void )
EXAMPLES
Example #1
SplFixedArray usage example
<?php
// Initialize the array with a fixed length
$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"
// Increase the size of the array to 10
$array->setSize(10);
$array[9] = "asdf";
// Shrink the array to a size of 2
$array->setSize(2);
// The following lines throw a RuntimeException: Index invalid or out of range
try {
var_dump($array["non-numeric"]);
} catch(RuntimeException $re) {
echo "RuntimeException: ".$re->getMessage()."
";
}
try {
var_dump($array[-1]);
} catch(RuntimeException $re) {
echo "RuntimeException: ".$re->getMessage()."
";
}
try {
var_dump($array[5]);
} catch(RuntimeException $re) {
echo "RuntimeException: ".$re->getMessage()."
";
}
?>
The above example will output:
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
PHP Documentation Group SPLFIXEDARRAY(3)