SplFixedArray::fromArray

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

SplFixedArray::fromArrayPHP の配列を SplFixedArray インスタンスにインポートする

説明

public static SplFixedArray::fromArray(array $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)
}

add a note add a note

User Contributed Notes 1 note

up
1
MuLoT
13 years ago
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 !!!
?>
To Top