PHPCon Poland 2024

SplFixedArray::offsetUnset

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

SplFixedArray::offsetUnsetRemove o valor no $index especificado

Descrição

public SplFixedArray::offsetUnset(int $index): void

Remove o valor no índice especificado.

Parâmetros

index

O índice a ser removido.

Valor Retornado

Nenhum valor é retornado.

Erros/Exceções

Lança RuntimeException quando o index está fora do tamanho definido do array ou quando o index não pode ser analisado como um número inteiro.

add a note

User Contributed Notes 1 note

up
3
c dot 1 at smithies dot org
13 years ago
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
?>
To Top