<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                我們來研究兩個比較有意思的數組函數。這兩個函數學起來不難。但是,有些同學會遇到一點點小困難。困難在于,找到list函數和each函數的操作特點。 ###list函數 我們先來講list函數: > list ( mixed $變量1 [, mixed $變量n ] ) 它的功能:將索引數組下標為0的對應我變量1,下標1的對應變量2,依此類推。 我們來通過實驗來看一下: ~~~ <?php list($one , $two , $three) = array('張三' ,'李四' ,'王五'); //再次聲明:單引號不結釋變量,所以輸出的是字符串$one echo '$one----'.$one.'<br />'; echo '$two----'.$two.'<br />'; echo '$three----'.$three.'<br />'; ?> ~~~ 我們來看一下實驗結果: ![document/2015-09-03/55e84620c4180](http://box.kancloud.cn/document_2015-09-03_55e84620c4180.png) 分析結果如圖: ![document/2015-09-03/55e8466feae5c](http://box.kancloud.cn/document_2015-09-03_55e8466feae5c.png) 結論: 1. 將下標為0的張三賦值給了$one 2. 將下標為1的李四賦值給了$two 3. 將下標為2的王五賦值給了$three 因此,我們知道了list的功能就是從左到右,一一對應索引數組從0開始的下標值。 list的另外一種用法: ~~~ <?php list( , , $three) = array('張三' ,'李四' ,'王五'); echo '$one----'.$one.'<br />'; echo '$two----'.$two.'<br />'; echo '$three----'.$three.'<br />'; ?> ~~~ 運行結果: ![document/2015-09-03/55e84749ce01e](http://box.kancloud.cn/document_2015-09-03_55e84749ce01e.png) 結論: 1. list當中的第一、二個放變量的地方留空,我只寫了$three。 2. 按照一一對應原則,張三和李四沒有變量可以對應。 3. 所以只有王五有變量對應 請嚴格記住:索引數組的一一對應原則。list第一個變量對應的是下標為0的數組元素,下標為1的對應的是list里面的第二個數組元素。 請猜猜下面的結果是多少? 為什么? ~~~ <?php list($one, $two, $three) = array(2 => '張三', '李四', '王五'); echo '$one----' . $one . '<br />'; echo '$two----' . $two . '<br />'; echo '$three----' . $three . '<br />'; ?> ~~~ 運行結果如下圖: ![document/2015-09-03/55e8491dd1ec6](http://box.kancloud.cn/document_2015-09-03_55e8491dd1ec6.png) 總結: 1. 因為是一一對應原則,$one找不到下標為0的數組元素,$two找不到下標為1的數組元素,只有$three找到了下標為2的數組元素 2. 在list($one, $two, $three),我只寫了三個變量。對應完成,無需再對應后面的變量了,丟棄李四和王五。 ###each函數 each 函數的規律性上面就更有特點了,并且比較有趣。 > array each ( array &$array ) 功能:傳入一個數組。它會將其中的一個元素拆為個新數組。每次執行這樣操作一個元素。執行一次先后移動一次,同樣的方式操作下一個數組元素。執行到最后,返回false。 我們先來看看each是怎么操作的數組元素。 ~~~ <?php //定義一個變量叫$kongjie(空姐) $kongjie=[ 'gao'=>'穿黑衣服的', 'shou'=>'腿特別長特別細', 'mei'=>'好白', 'pl'=>'五官端正', 'type'=>'那就是女神', '我是屌絲不敢跟女神搭訕' ]; //第一次each $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; ?> ~~~ 我們來看看第一次執行each的結果: ![document/2015-09-03/55e84d53179fc](http://box.kancloud.cn/document_2015-09-03_55e84d53179fc.png) 總結: 1.讀取了$kongjie中的第一個元素,將第一個元素('gao'=>'穿黑衣服的')分解開了。 2. 分解后第一個元素變成了一個新數組。 3. 在新數組里面,將原值(穿黑衣服的)放了索引下標1里面,同時放到了關聯下標value里面。 4. 在新數組里面,將原鍵(gao),放到了關聯下標key里面,放到了索引下標0里面。 我們用圖來表示: ![document/2015-09-03/55e84f4676360](http://box.kancloud.cn/document_2015-09-03_55e84f4676360.png) 這樣我們一下子就看明白了。 接下來我們說說each的另外一個特性。讀一次,向后移動一個元素。 ~~~ <?php //定義一個變量叫$kongjie(空姐) $kongjie=[ 'gao'=>'穿黑衣服的', 'shou'=>'退特別長特別細', 'mei'=>'好白', ]; //第一次each $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; echo '-----華麗麗分割線------<br />'; //第2次each $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; echo '-----華麗麗分割線------<br />'; //第3次each【執行到了最后一個元素了】 $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; echo '-----華麗麗分割線------<br />'; //第4次【此時,后面已沒有可操作的元素了,看返回什么】 $data = each($kongjie); echo '<pre>'; var_dump($data); echo '</pre>'; echo '-----華麗麗分割線------<br />'; ?> ~~~ 執行結果: ![document/2015-09-03/55e85015cf476](http://box.kancloud.cn/document_2015-09-03_55e85015cf476.png) 總結: 1. 讀一次向后移動一次【可以想象有一個記錄的箭頭在移動】,將其中的每個元素拆解成一個新數組 2. 讀取到最后,沒有可操作的元素了,所以返回了false。 ###list 和each 配合 我們知道了list的特性,也知道了each的特性。那list是不是可以和each配合起來一起來完成一些工作呢? > list($key,$value) = each($array); 我們來看之前說到的這個圖: ![document/2015-09-03/55e84f4676360](http://box.kancloud.cn/document_2015-09-03_55e84f4676360.png) 而list中的第一個變量會去找索引下面0的元素去賦值,第二個變量會找索引下標為1的元素對變量賦值。 我們來看看下面例子: ~~~ <?php //定義一個變量叫$kongjie(空姐) $kongjie=[ 'gao'=>'穿黑衣服的', 'shou'=>'退特別長特別細', 'mei'=>'好白', ]; list($key,$value) = each($kongjie); echo $key. '-----' .$value .'<br />'; ?> ~~~ 運行結果如下: ![document/2015-09-03/55e85194206dc](http://box.kancloud.cn/document_2015-09-03_55e85194206dc.png) 總結: 1. each 把變量拆成了4個元素 2. 而list把0 =>gao 賦值給了變量$key 3. list把1 => 穿黑衣服的 賦值給了變量 $value each到最后會返回false,因此我可以用布爾型循環while來配合完成數組的循環。 把上面的代碼,輕輕一改就實現了如下效果: ~~~ <?php //定義一個變量叫$kongjie(空姐) $kongjie=[ 'gao'=>'穿黑衣服的', 'shou'=>'退特別長特別細', 'mei'=>'好白', ]; while(list($key,$value) = each($kongjie)){ echo $key. '-----' .$value .'<br />'; } ?> ~~~ 執行演示: ![document/2015-09-03/55e8527586ffe](http://box.kancloud.cn/document_2015-09-03_55e8527586ffe.png) 總結: 1. 循環一次,執行一次each,執行代碼,然后向后移動一個元素 2. 執行到最后返回fasle,因此停止執行。 3. 可以通過each和list配合實現foreach一樣的效果。 作業: 使用list和each配合,將如下數組: ~~~ <?php $arr=array( '教學部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('張某','21','妖人'), ), '宣傳部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('張某','21','妖人'), ), '財務部'=>array( array('李某','18','人妖'), array('高某','20','男'), array('張某','21','妖人'), ), ); ?> ~~~ 遍歷顯示出來,效果如下: ![document/2015-09-03/55e83877dbd0f](http://box.kancloud.cn/document_2015-09-03_55e83877dbd0f.png)
                  <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>

                              哎呀哎呀视频在线观看