SplFixedArray::offsetUnset

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

SplFixedArray::offsetUnsetDestruye el valor en el índice específicado

Descripción

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

Destruye el valor en el índice específicado.

Parámetros

index

El índice a ser destruido.

Valores devueltos

No devuelve ningún valor.

Errores/Excepciones

Lanza una excepción de tipo RuntimeException cuando index está fuera del tamaño definido del array o cuando index no se puede procesar como un entero.

add a note add a note

User Contributed Notes 1 note

up
3
c dot 1 at smithies dot org
14 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