(PHP 5 >= 5.3.0, PHP 7, PHP 8)
SplFixedArray::fromArray — Импортирует PHP-массив в объект класса SplFixedArray
$array, bool $preserveKeys = true ): SplFixedArray
Импортирует PHP-массив array
в новый объект класса SplFixedArray
arrayМассив, который следует импортировать.
preserveKeysПо возможности сохранить численные индексы, заданные в оригинальном массиве.
Возвращает объект класса SplFixedArray , содержащий данные из импортированного массива.
Пример #1 Пример использования SplFixedArray::fromArray()
<?php
$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3));
var_dump($fa);
$fa = SplFixedArray::fromArray(array(1 => 1, 0 => 2, 3 => 3), false);
var_dump($fa);
?>Результат выполнения приведённого примера:
object(SplFixedArray)#1 (4) {
[0]=>
int(2)
[1]=>
int(1)
[2]=>
NULL
[3]=>
int(3)
}
object(SplFixedArray)#2 (3) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
}
Memory footprint tests :
<?php
echo memory_get_usage()."\n"; // display 627760
$array = array_fill( 0, 2048, 'a' );
echo memory_get_usage()."\n"; // 824744, so 196984 for $array
unset( $array );
echo memory_get_usage()."\n"; // 627792
$spl=SplFixedArray::fromArray( array_fill( 0, 2048, 'a' ) );
echo memory_get_usage()."\n"; //644944, so just 17151 for $spl !!!
?>