<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                什么是線性結構,什么是非線性結構? 線性結構是一個有序數據元素的集合。**常用的線性結構有:線性表,棧,隊列,雙隊列,數組,串。** 非線性結構,其邏輯特征是一個結點元素可能有多個直接前趨和多個直接后繼。**常見的非線性結構有:二維數組,多維數組,廣義表,樹(二叉樹等)。** 區別: 循環(loop) - 最基礎的概念, 所有重復的行為 遞歸(recursion) - 在函數內調用自身, 將復雜情況逐步轉化成基本情況 (數學)迭代(iterate) - 在多次循環中逐步接近結果 (編程)迭代(iterate) - 按順序訪問線性結構中的每一項 遍歷(traversal) - 按規則訪問非線性結構中的每一項 ———————————————— `ArrayIterator`類實際上是對`ArrayObject`類的補充,為后者提供遍歷功能 這個迭代器允許在遍歷數組和對象時刪除和更新值與鍵 ``` ArrayIterator implements ArrayAccess , SeekableIterator , Countable , Serializable { /* 常量 */ const integer STD_PROP_LIST = 1 ; const integer ARRAY_AS_PROPS = 2 ; /* 方法 */ public append ( mixed $value ) : void public asort ( void ) : void public __construct ([ mixed $array = array() [, int $flags = 0 ]] ) [CachingIterator](CachingIterator.md) public getArrayC[Iterator(迭代器)接口](Iterator%EF%BC%88%E8%BF%AD%E4%BB%A3%E5%99%A8%EF%BC%89%E6%8E%A5%E5%8F%A3.md)opy ( void ) : array public getFlags ( void ) : int public ksort ( void ) : void public natcasesort ( void ) : void public natsort ( void ) : void public setFlags ( string $flags ) : void public uasort ( callable $cmp_function ) : void public uksort ( callable $cmp_function ) : void //Countable public count ( void ) : int //SeekableIterator public current ( void ) : mixed public rewind ( void ) : void public key ( void ) : mixed public seek ( int $position ) : void public next ( void ) : void public valid ( void ) : bool //ArrayAccess public offsetExists ( mixed $index ) : bool public offsetGet ( mixed $index ) : mixed public offsetSet ( mixed $index , mixed $newval ) : void public offsetUnset ( mixed $index ) : void //Serializable public serialize ( void ) : string public unserialize ( string $serialized ) : void } ``` ``` $fruits = array( "a" => "1", "b" => "2", "c" => "3", "d" => "4" ); $obj = new ArrayObject( $fruits ); print_r($obj);//ArrayObject Object ( [storage:ArrayObject:private] => Array ( [a] => 1 [b] => 2 [c] => 3 [d] => 4 ) ) $it = $obj->getIterator(); print_r($it);//ArrayIterator Object ( [storage:ArrayIterator:private] => ArrayObject Object ( [storage:ArrayObject:private] => Array ( [a] => 1 [b] => 2 [c] => 3 [d] => 4 ) ) ) echo "我們要迭代多少項: " . $obj->count();//我們要迭代多少項: 4 //迭代ArrayObject中的值: while( $it->valid() ) { echo $it->key() . "<=>" . $it->current() . "\n";//a<=>1 b<=>2 c<=>3 d<=>4 $it->next(); } // 這里的好處是可以使用foreach循環進行迭代 foreach ($it as $key=>$val){ echo $key.":".$val."\n";//a:1 b:2 c:3 d:4 } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看