downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

SplFixedArray::rewind> <SplFixedArray::offsetSet
[edit] Last updated: Fri, 25 May 2012

view this page in

SplFixedArray::offsetUnset

(PHP 5 >= 5.3.0)

SplFixedArray::offsetUnset指定した添字の値を消去する

説明

public void SplFixedArray::offsetUnset ( int $index )

指定した添字の値を消去します。

パラメータ

index

消去したい添字。

返り値

値を返しません。

エラー / 例外

index が配列で定義されているサイズの範囲外の場合や index を数値として解釈できない場合に RuntimeException をスローします。



add a note add a note User Contributed Notes SplFixedArray::offsetUnset
c dot 1 at smithies dot org 22-Nov-2010 08:07
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
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites