此函式會將陣列元素指定為 NULL。它的使用不會影響 count()。雖然將元素指定為 NULL 不會影響 isset(),但 offsetUnset() 和 unset() 則會。雖然取消設定元素會影響 foreach() 應用於陣列或 ArrayObject 的行為,但它對 SplFixedArray 沒有這種影響,如下面的程式碼所示。
<?php
class atest extends SplFixedArray {
public function fill() {
for ($i = $this->count(); --$i >= 0; ) $this[$i] = $i;
}
public function dump() {
$sep = ' ';
foreach ($this as $k => $v) {
echo $sep, "$k: ", (is_null($v) ? 'NULL' : $v);
if (!isset($this[$k])) echo ' and unset';
$sep = ', ';
}
echo PHP_EOL;
}
}
$a = new atest(3);
$a->dump(); $a->fill();
$a->dump(); $a[1] = NULL;
unset($a[2]);
$a->dump(); ?>