SplFixedArray (class)
Introduction
(PHP 5 >= 5.3.0, PHP 7)
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 implements Iterator , ArrayAccess , Countable {
/* Methods */
public __construct ( int $size
= 0 )
public int count ( void )
public mixed current ( void )
public static SplFixedArray fromArray ( array $array [, bool $save_indexes = true ] )
public int getSize ( void )
public int key ( void )
public void next ( void )
public bool offsetExists ( int $index )
public mixed offsetGet ( int $index )
public void offsetSet ( int $index , mixed $newval )
public void offsetUnset ( int $index )
public void rewind ( void )
public bool setSize ( int $size )
public array toArray ( void )
public bool valid ( void )
public void __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()."\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";
}
?>
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
Table of Contents
- SplFixedArray::__construct — Constructs a new fixed array
- SplFixedArray::count — Returns the size of the array
- SplFixedArray::current — Return current array entry
- SplFixedArray::fromArray — Import a PHP array in a SplFixedArray instance
- SplFixedArray::getSize — Gets the size of the array
- SplFixedArray::key — Return current array index
- SplFixedArray::next — Move to next entry
- SplFixedArray::offsetExists — Returns whether the requested index exists
- SplFixedArray::offsetGet — Returns the value at the specified index
- SplFixedArray::offsetSet — Sets a new value at a specified index
- SplFixedArray::offsetUnset — Unsets the value at the specified $index
- SplFixedArray::rewind — Rewind iterator back to the start
- SplFixedArray::setSize — Change the size of an array
- SplFixedArray::toArray — Returns a PHP array from the fixed array
- SplFixedArray::valid — Check whether the array contains more elements
- SplFixedArray::__wakeup — Reinitialises the array after being unserialised
← SplPriorityQueue::valid
SplFixedArray::__construct →
? 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com