<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/spl.datastructures.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'zh',
  ),
  'this' => 
  array (
    0 => 'class.spldoublylinkedlist.php',
    1 => 'SplDoublyLinkedList',
    2 => 'SplDoublyLinkedList 类',
  ),
  'up' => 
  array (
    0 => 'spl.datastructures.php',
    1 => 'Datastructures',
  ),
  'prev' => 
  array (
    0 => 'spl.datastructures.php',
    1 => 'Datastructures',
  ),
  'next' => 
  array (
    0 => 'spldoublylinkedlist.add.php',
    1 => 'SplDoublyLinkedList::add',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'zh',
    'path' => 'reference/spl/spldoublylinkedlist.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.spldoublylinkedlist.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.spldoublylinkedlist" class="reference">
 <h1 class="title">SplDoublyLinkedList 类</h1>
 
 
 <div class="partintro"><p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8)</p>
 

  <div class="section" id="spldoublylinkedlist.intro">
   <h2 class="title">简介</h2>
   <p class="para">
    SplDoublyLinkedList 类提供双向链表的主要功能。
   </p>
  </div>

 
  <div class="section" id="spldoublylinkedlist.synopsis">
   <h2 class="title">类摘要</h2>
 

   <div class="classsynopsis"><div class="classsynopsisinfo">
    
     <span class="modifier">class</span> <strong class="classname"><strong class="classname">SplDoublyLinkedList</strong></strong>
    

    
     <span class="modifier">implements</span>
      <a href="class.iterator.php" class="interfacename">Iterator</a>,

     <a href="class.countable.php" class="interfacename">Countable</a>,

     <a href="class.arrayaccess.php" class="interfacename">ArrayAccess</a>,

     <a href="class.serializable.php" class="interfacename">Serializable</a> {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* 常量 */</div>
    <div class="fieldsynopsis">
     <span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spldoublylinkedlist.php#spldoublylinkedlist.constants.it-mode-lifo"><var class="varname">IT_MODE_LIFO</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spldoublylinkedlist.php#spldoublylinkedlist.constants.it-mode-fifo"><var class="varname">IT_MODE_FIFO</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spldoublylinkedlist.php#spldoublylinkedlist.constants.it-mode-delete"><var class="varname">IT_MODE_DELETE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.spldoublylinkedlist.php#spldoublylinkedlist.constants.it-mode-keep"><var class="varname">IT_MODE_KEEP</var></a></var>;</div>


    <div class="classsynopsisinfo classsynopsisinfo_comment">/* 方法 */</div>
    <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.add.php" class="methodname">add</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$index</code></span>, <span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.bottom.php" class="methodname">bottom</a></span>(): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.count.php" class="methodname">count</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.current.php" class="methodname">current</a></span>(): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.getiteratormode.php" class="methodname">getIteratorMode</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.isempty.php" class="methodname">isEmpty</a></span>(): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.key.php" class="methodname">key</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.next.php" class="methodname">next</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.offsetexists.php" class="methodname">offsetExists</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$index</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.offsetget.php" class="methodname">offsetGet</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$index</code></span>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.offsetset.php" class="methodname">offsetSet</a></span>(<span class="methodparam"><span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="language.types.integer.php" class="type int">int</a></span></span> <code class="parameter">$index</code></span>, <span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.offsetunset.php" class="methodname">offsetUnset</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$index</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.pop.php" class="methodname">pop</a></span>(): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.prev.php" class="methodname">prev</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.push.php" class="methodname">push</a></span>(<span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.rewind.php" class="methodname">rewind</a></span>(): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.serialize.php" class="methodname">serialize</a></span>(): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.setiteratormode.php" class="methodname">setIteratorMode</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$mode</code></span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.shift.php" class="methodname">shift</a></span>(): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.top.php" class="methodname">top</a></span>(): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.unserialize.php" class="methodname">unserialize</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$data</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.unshift.php" class="methodname">unshift</a></span>(<span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="spldoublylinkedlist.valid.php" class="methodname">valid</a></span>(): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

   }</div>
 
  </div>


  <div class="section" id="spldoublylinkedlist.constants">
   <h2 class="title">预定义常量</h2>
   <div class="section" id="spldoublylinkedlist.constants.iteration-direction">
    <h2 class="title">迭代方向</h2>
    <dl>

     
      <dt id="spldoublylinkedlist.constants.it-mode-lifo"><strong><code><a href="class.spldoublylinkedlist.php#spldoublylinkedlist.constants.it-mode-lifo">SplDoublyLinkedList::IT_MODE_LIFO</a></code></strong></dt>
      <dd>
       <p class="para">
        列表将以先进后出的顺序迭代，就像栈一样。
       </p>
      </dd>
     

     
      <dt id="spldoublylinkedlist.constants.it-mode-fifo"><strong><code><a href="class.spldoublylinkedlist.php#spldoublylinkedlist.constants.it-mode-fifo">SplDoublyLinkedList::IT_MODE_FIFO</a></code></strong></dt>
      <dd>
       <p class="para">
        列表将以先进先出的顺序迭代，就像队列一样。
       </p>
      </dd>
     

    </dl>
   </div>

   <div class="section" id="spldoublylinkedlist.constants.iteration-behavior">
    <h2 class="title">迭代行为</h2>
    <dl>

     
      <dt id="spldoublylinkedlist.constants.it-mode-delete"><strong><code><a href="class.spldoublylinkedlist.php#spldoublylinkedlist.constants.it-mode-delete">SplDoublyLinkedList::IT_MODE_DELETE</a></code></strong></dt>
      <dd>
       <p class="para">
        迭代将移除已迭代的元素。
       </p>
      </dd>
     

     
      <dt id="spldoublylinkedlist.constants.it-mode-keep"><strong><code><a href="class.spldoublylinkedlist.php#spldoublylinkedlist.constants.it-mode-keep">SplDoublyLinkedList::IT_MODE_KEEP</a></code></strong></dt>
      <dd>
       <p class="para">
        迭代将不会移除已迭代的元素。
       </p>
      </dd>
     

    </dl>
   </div>
  </div>



 
 </div>
 
 


















































































































 
<h2>目录</h2><ul class="chunklist chunklist_reference"><li><a href="spldoublylinkedlist.add.php">SplDoublyLinkedList::add</a> — Add/insert a new value at the specified index</li><li><a href="spldoublylinkedlist.bottom.php">SplDoublyLinkedList::bottom</a> — Peeks at the node from the beginning of the doubly linked list</li><li><a href="spldoublylinkedlist.count.php">SplDoublyLinkedList::count</a> — Counts the number of elements in the doubly linked list</li><li><a href="spldoublylinkedlist.current.php">SplDoublyLinkedList::current</a> — Return current array entry</li><li><a href="spldoublylinkedlist.getiteratormode.php">SplDoublyLinkedList::getIteratorMode</a> — Returns the mode of iteration</li><li><a href="spldoublylinkedlist.isempty.php">SplDoublyLinkedList::isEmpty</a> — Checks whether the doubly linked list is empty</li><li><a href="spldoublylinkedlist.key.php">SplDoublyLinkedList::key</a> — Return current node index</li><li><a href="spldoublylinkedlist.next.php">SplDoublyLinkedList::next</a> — Move to next entry</li><li><a href="spldoublylinkedlist.offsetexists.php">SplDoublyLinkedList::offsetExists</a> — Returns whether the requested $index exists</li><li><a href="spldoublylinkedlist.offsetget.php">SplDoublyLinkedList::offsetGet</a> — Returns the value at the specified $index</li><li><a href="spldoublylinkedlist.offsetset.php">SplDoublyLinkedList::offsetSet</a> — Sets the value at the specified $index to $value</li><li><a href="spldoublylinkedlist.offsetunset.php">SplDoublyLinkedList::offsetUnset</a> — Unsets the value at the specified $index</li><li><a href="spldoublylinkedlist.pop.php">SplDoublyLinkedList::pop</a> — Pops a node from the end of the doubly linked list</li><li><a href="spldoublylinkedlist.prev.php">SplDoublyLinkedList::prev</a> — Move to previous entry</li><li><a href="spldoublylinkedlist.push.php">SplDoublyLinkedList::push</a> — Pushes an element at the end of the doubly linked list</li><li><a href="spldoublylinkedlist.rewind.php">SplDoublyLinkedList::rewind</a> — Rewind iterator back to the start</li><li><a href="spldoublylinkedlist.serialize.php">SplDoublyLinkedList::serialize</a> — Serializes the storage</li><li><a href="spldoublylinkedlist.setiteratormode.php">SplDoublyLinkedList::setIteratorMode</a> — Sets the mode of iteration</li><li><a href="spldoublylinkedlist.shift.php">SplDoublyLinkedList::shift</a> — Shifts a node from the beginning of the doubly linked list</li><li><a href="spldoublylinkedlist.top.php">SplDoublyLinkedList::top</a> — Peeks at the node from the end of the doubly linked list</li><li><a href="spldoublylinkedlist.unserialize.php">SplDoublyLinkedList::unserialize</a> — Unserializes the storage</li><li><a href="spldoublylinkedlist.unshift.php">SplDoublyLinkedList::unshift</a> — Prepends the doubly linked list with an element</li><li><a href="spldoublylinkedlist.valid.php">SplDoublyLinkedList::valid</a> — Check whether the doubly linked list contains more nodes</li></ul>
</div>
<?php manual_footer($setup); ?>