ホームページ >バックエンド開発 >PHPチュートリアル >PHP SPL標準ライブラリ SplFixedArrayの使用例_PHPチュートリアル

PHP SPL標準ライブラリ SplFixedArrayの使用例_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:53:421022ブラウズ

PHP SPL標準ライブラリSplFixedArrayの使用例

この記事では主にPHP SPL標準ライブラリのSplFixedArrayの使用例を紹介します。 SplFixedArrayは主に配列の処理に関する主要な関数であり、固定長であり、通常の配列よりも効率的です。すぐに処理できるので、困っている友達に参考にしてもらえます

SplFixedArray は主に配列関連の関数を処理するために使用されます。通常の PHP 配列とは異なり、キー名に数字を使用した固定長の配列であるため、通常の配列処理よりも高速であることが利点です。

私のローカルのベンチマークテストを見てください:

?

結果は以下の通りです:

1

2

3

4

5

6

7

8

9

10

ini_set('memory_limit','12800M');

for($size = 10000; $size

echo PHP_EOL . "テスト サイズ: $size" .

for($s = microtime(true), $container = Array(), $i = 0; $i echo "Array(): " . (microtime(true) - $s) .

for($s = microtime(true), $container = new SplFixedArray($size), $i = 0; $i

echo "SplArray(): " . (microtime(true) - $s) .

}

?

1テストサイズ: 10000

通常、SplFixedArray は PHP 配列より 20%~30% 高速であるため、膨大な数の固定長配列を扱う場合には、やはり強くお勧めします。

SplFixedArrayクラスの概要は以下の通りです。

?

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

配列(): 0.004000186920166

SplArray(): 0.0019998550415039

テストサイズ: 40000

配列(): 0.017001152038574

SplArray(): 0.0090007781982422

テストサイズ: 160000

配列(): 0.050002098083496

SplArray(): 0.046003103256226

テストサイズ: 640000

配列(): 0.19701099395752

SplArray(): 0.16700983047485

テストサイズ: 2560000

配列(): 0.75704312324524

SplArray(): 0.67303895950317

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

SplFixedArray は Iterator 、 ArrayAccess 、 Countable を実装します {

/* メソッド */

public __construct ([ int $size = 0 ] )

public int カウント (void)

公共混流(無効)

public static SplFixedArray fromArray ( array $array [, bool $save_indexes = true ] )

public int getSize (void)

公開 int キー (無効)

パブリックボイドネクスト(void)

public bool offsetExists (int $index)

パブリック混合オフセットGet (int $index)

public void offsetSet (int $index,mixed $newval)

public void offsetUnset (int $index)

パブリックボイド巻き戻し(ボイド)

public int setSize (int $size)

パブリック配列 toArray (void)

パブリックブール有効(無効)

パブリックボイド__wakeup (ボイド)

}

SplFixedArray の使用:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

$arr = 新しい SplFixedArray(4);

$arr[0] = 'php';

$arr[1] = 1;

$arr[3] = 'Python';

//トラバース、$arr[2] は null です

foreach($arr as $v) {

echo $v .PHP_EOL;

}

//配列の長さを取得する

echo $arr->getSize(); //4

//配列の長さを増やす

$arr->setSize(5);

$arr[4] = '新しいもの';

//例外をキャッチ

試してください{

エコー $arr[10];

} catch (RuntimeException $e) {

echo $e->getMessage();

}

http://www.bkjia.com/PHPjc/1000112.htmlwww.bkjia.com本当http://www.bkjia.com/PHPjc/1000112.html技術記事 PHP SPL 標準ライブラリの SplFixedArray の使用例 この記事では主に PHP SPL 標準ライブラリの SplFixedArray の使用例を紹介します。 SplFixedArray は主に配列の処理に関わる関数です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。