This function assigns NULL to the array element. Its use has no effect on count(). Whereas assigning NULL to an element will have no effect on isset(), offsetUnset() and unset() do. Whereas unsetting an element affects the behaviour of foreach() as applied to an array or an ArrayObject, it has no such effect on SplFixedArray, as demonstrated by the code below.
<?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(); // 0: NULL and unset, 1: NULL and unset, 2: NULL and unset
$a->fill();
$a->dump(); // 0: 0, 1: 1, 2: 2
$a[1] = NULL;
unset($a[2]);
$a->dump(); // 0: 0, 1: NULL, 2: NULL and unset
?>
SplFixedArray::offsetUnset
(PHP 5 >= 5.3.0)
SplFixedArray::offsetUnset — Détruit l'élément à un index donné
Description
public void SplFixedArray::offsetUnset
( int
$index
)
Détruit l'élément à l'index index.
Liste de paramètres
-
index -
L'index de l'élément à détruire.
Valeurs de retour
Aucune valeur n'est retournée.
Erreurs / Exceptions
Lance une exception RuntimeException
lorsque index est en dehors de la taille
du tableau ou lorsque index n'a pu être
analysé comme un entier.
c dot 1 at smithies dot org
22-Nov-2010 08:07
