<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之旅 廣告
                [TOC] PHP 中的數組實際上是一個有序映射。映射是一種把 values 關聯到 keys 的類型。此類型在很多方面做了優化,因此可以把它當成真正的數組,或列表(向量),散列表(是映射的一種實現),字典,集合,棧,隊列以及更多可能性。由于數組元素的值也可以是另一個數組,樹形結構和多維數組也是允許的。 解釋這些結構超出了本手冊的范圍,但對于每種結構至少會提供一個例子。要得到這些結構的更多信息,建議參考有關此廣闊主題的其它著作。 語法 ## 如何定義數組 array() 可以用 array() 語言結構來新建一個數組。它接受任意數量用逗號分隔的 鍵(key) => 值(value)對。 array( key => value , ... ) // 鍵(key)可是是一個整數 integer 或字符串 string // 值(value)可以是任意類型的值 最后一個數組單元之后的逗號可以省略。通常用于單行數組定義中,例如常用 array(1, 2) 而不是 array(1, 2, )。對多行數組定義通常保留最后一個逗號,這樣要添加一個新單元時更方便。 自 5.4 起可以使用短數組定義語法,用 [] 替代 array()。 案例1:**一個簡單數組** ~~~ <!--?php $array = array( "foo" =--> "bar", "bar" => "foo", ); // 自 PHP 5.4 起 $array = [ "foo" => "bar", "bar" => "foo", ]; ?> ~~~ key 可以是 integer 或者 string。value 可以是任意類型。 此外 key 會有如下的強制轉換: 包含有合法整型值的字符串會被轉換為整型。例如鍵名 "8" 實際會被儲存為 8。但是 "08" 則不會強制轉換,因為其不是一個合法的十進制數值。 浮點數也會被轉換為整型,意味著其小數部分會被舍去。例如鍵名 8.7 實際會被儲存為 8。 布爾值也會被轉換成整型。即鍵名 true 實際會被儲存為 1 而鍵名 false 會被儲存為 0。 Null 會被轉換為空字符串,即鍵名 null 實際會被儲存為 ""。 數組和對象不能被用為鍵名。堅持這么做會導致警告:Illegal offset type。 如果在數組定義中多個單元都使用了同一個鍵名,則只使用了最后一個,之前的都被覆蓋了。 案例2:**類型強制與覆蓋示例** ~~~ <!--?php $array = array( 1 =--> "a", "1" => "b", 1.5 => "c", true => "d", ); var_dump($array); ?> ~~~ 以上例程會輸出: array(1) { [1]=> string(1) "d" } 上例中所有的鍵名都被強制轉換為 1,則每一個新單元都會覆蓋前一個的值,最后剩下的只有一個 "d"。 PHP 數組可以同時含有 integer 和 string 類型的鍵名,因為 PHP 實際并不區分索引數組和關聯數組。 如果對給出的值沒有指定鍵名,則取當前最大的整數索引值,而新的鍵名將是該值加一。如果指定的鍵名已經有了值,則該值會被覆蓋。 案例3:**混合 integer 和 string 鍵名** ~~~ <!--?php $array = array( "foo" =--> "bar", "bar" => "foo", 100 => -100, -100 => 100, ); var_dump($array); ?> ~~~ 以上例程會輸出: array(4) { ["foo"]=> string(3) "bar" ["bar"]=> string(3) "foo" [100]=> int(-100) [-100]=> int(100) } key 為可選項。如果未指定,PHP 將自動使用之前用過的最大 integer 鍵名加上 1 作為新的鍵名。 案例4: 沒**有鍵名的索引數組** ~~~ !--?php $array = array("foo", "bar", "hallo", "world"); var_dump($array); ?--> ~~~ 以上例程會輸出: array(4) { [0]=> string(3) "foo" [1]=> string(3) "bar" [2]=> string(5) "hallo" [3]=> string(5) "world" } 還可以只對某些單元指定鍵名而對其它的空置: 案例5:**僅對部分單元指定鍵名** ~~~ <!--?php $array = array( "a", "b", 6 =--> "c", "d", ); var_dump($array); ?> ~~~ 以上例程會輸出: array(4) { [0]=> string(1) "a" [1]=> string(1) "b" [6]=> string(1) "c" [7]=> string(1) "d" } 可以看到最后一個值 "d" 被自動賦予了鍵名 7。這是由于之前最大的整數鍵名是 6。 用方括號語法訪問數組單元 數組單元可以通過 array[key] 語法來訪問。 案例6: **訪問數組單元** ~~~ <!--?php $array = array( "foo" =--> "bar", 42 => 24, "multi" => array( "dimensional" => array( "array" => "foo" ) ) ); var_dump($array["foo"]); var_dump($array[42]); var_dump($array["multi"]["dimensional"]["array"]); ?> ~~~ 以上例程會輸出: string(3) "bar" int(24) string(3) "foo" Note: 方括號和花括號可以互換使用來訪問數組單元(例如 $array[42] 和 $array{42} 在上例中效果相同)。 自 PHP 5.4 起可以用數組間接引用函數或方法調用的結果。之前只能通過一個臨時變量。 自 PHP 5.5 起可以用數組間接引用一個數組原型。 案例7: 數組間接引用 ~~~ <!--?php function getArray() { return array(1, 2, 3); } // on PHP 5.4 $secondElement = getArray()[1]; // previously $tmp = getArray(); $secondElement = $tmp[1]; // or list(, $secondElement) = getArray(); ?--> ~~~
                  <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>

                              哎呀哎呀视频在线观看