PHP标准库(SPL)学习之SplFixedArray

发布于 2017-03-07 03:38:55 阅读 301
<?php
// 初始化固定数组的长度
$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"


// 把数组长度增大到10
$array->setSize(10);


$array[9] = "asdf";

// 把长度缩小成2
$array->setSize(2);


// 下面都会抛出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";
}