PHP函數實用技巧:array_chunk()

王林
發布: 2023-06-20 09:04:02
原創
3778 人瀏覽過

PHP語言中的陣列(array)是一種非常實用的資料類型,可以用於儲存多個資料並進行批次操作。但是,有時候我們需要將大的數組拆分成多個小的數組,以便更好地進行處理。這時候,PHP函數中的array_chunk()就派上用場了。本文將分享如何使用array_chunk()函數進行陣列分塊運算和一些實用技巧。

一、array_chunk()函數概述

array_chunk()函數的作用是將一個陣列依指定大小分塊,傳回一個二維陣列。其函數定義如下:

array array_chunk ( array $array , int $size [, bool $preserve_keys = false ] )

#參數說明:

  • $array :必需,要進行分塊操作的陣列。
  • $size:必需,一個整數,指定每個區塊的長度。
  • $preserve_keys:可選,一個布林值,表示是否保留原始數組的鍵名,預設為false,即不保留。

此函數傳回一個二維數組,其中每個子數組的長度為$size,最後一個子數組的長度可以小於$size。

二、array_chunk()函數的實例

為了更好地理解array_chunk()函數的用法,我們可以看下面這個實例。

首先,我們定義一個包含10個元素的陣列:

登入後複製

我們可以使用array_chunk()函數將其分成長度為3的小數組:

登入後複製

結果如下:

Array ( [0] => Array ( [0] => a [1] => b [2] => c ) [1] => Array ( [0] => d [1] => e [2] => f ) [2] => Array ( [0] => g [1] => h [2] => i ) [3] => Array ( [0] => j ) )
登入後複製

可以看到,原始數組被分成了4個長度為3的子數組。最後一個子數組只有一個元素,因為原數組中只剩下了一個元素。

三、array_chunk()函數的實用技巧

  1. 陣列分頁

我們可以使用array_chunk()函數將一個陣列分頁,將每頁的資料條目數指定為每個區塊的長度。這對於製作簡單的分頁系統非常有用,例如,我們可以將總共50個資料分成每頁10個,然後分別展示到5個頁面上。

登入後複製

結果如下:

Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 ) [1] => Array ( [0] => 11 [1] => 12 [2] => 13 [3] => 14 [4] => 15 [5] => 16 [6] => 17 [7] => 18 [8] => 19 [9] => 20 ) [2] => Array ( [0] => 21 [1] => 22 [2] => 23 [3] => 24 [4] => 25 [5] => 26 [6] => 27 [7] => 28 [8] => 29 [9] => 30 ) [3] => Array ( [0] => 31 [1] => 32 [2] => 33 [3] => 34 [4] => 35 [5] => 36 [6] => 37 [7] => 38 [8] => 39 [9] => 40 ) [4] => Array ( [0] => 41 [1] => 42 [2] => 43 [3] => 44 [4] => 45 [5] => 46 [6] => 47 [7] => 48 [8] => 49 [9] => 50 ) )
登入後複製

每個子陣列都包含10個元素,就像每一頁包含10個資料一樣。

  1. 陣列分割

假設我們有一個由逗號分隔的字串,我們想要將其拆分成數組,並且每次拆分10個元素,可以使用array_chunk()函數來完成這個操作。

登入後複製

結果如下:

Array ( [0] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 ) [1] => Array ( [0] => 11 [1] => 12 [2] => 13 [3] => 14 [4] => 15 [5] => 16 [6] => 17 [7] => 18 [8] => 19 [9] => 20 ) )
登入後複製
  1. 陣列隨機排序

如果我們想要打亂一個陣列中元素的排序,可以先使用array_chunk()將陣列分塊,然後打亂每一塊的元素,最後把所有區塊的元素連接在一起,即可完成隨機排序。

 &$value) { shuffle($value); } $result = call_user_func_array('array_merge', $chunk_arr); print_r($result); ?>
登入後複製

結果如下:

Array ( [0] => 1 [1] => 4 [2] => 2 [3] => 3 [4] => 5 [5] => 9 [6] => 10 [7] => 7 [8] => 6 [9] => 8 [10] => 11 [11] => 12 [12] => 14 [13] => 13 [14] => 16 [15] => 15 [16] => 17 [17] => 20 [18] => 19 [19] => 18 )
登入後複製

我們先將原始數組分成了4個長度為5的子數組,然後對每個子數組內部進行了打亂排序,最後使用array_merge()函數將所有的子數組合併在一起,打亂了原始數組的順序。

四、總結

array_chunk()函數是PHP語言中的一個非常實用的函數,能夠幫助我們將一個大的數組分成多個小的數組,為邏輯處理提供了很大的便利。本文介紹了array_chunk()函數的作用和用法,並分享了一些陣列分塊的實用技巧。希望本文對PHP語言的學習者有幫助。

以上是PHP函數實用技巧:array_chunk()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!