Hàm array_chunk[] là một hàm có sẵn trong PHP, được sử dụng để chia một mảng thành các phần hoặc khối có kích thước nhất định tùy thuộc vào các tham số được truyền cho hàm. Đoạn cuối cùng có thể chứa ít phần tử hơn kích thước mong muốn của đoạn
cú pháp
array array_chunk[ $array, $size, $preserve_keys ]
Thông số. Hàm này chấp nhận ba tham số như trong cú pháp trên. Các thông số được mô tả dưới đây
- mảng $. Tham số này đại diện cho mảng cần được chia thành các phần
- kích thước $. Tham số này là một số nguyên xác định kích thước của các khối được tạo
- $preserve_keys. Tham số này nhận giá trị Boolean. Khi tham số này được đặt thành TRUE thì các khóa sẽ được giữ nguyên, nếu không thì đoạn mã được lập chỉ mục lại bắt đầu từ 0
Giá trị trả về. Hàm này trả về một mảng nhiều chiều được lập chỉ mục bắt đầu từ 0. Mỗi đoạn chứa $size số phần tử, ngoại trừ đoạn cuối cùng có thể chứa số phần tử ít hơn
ví dụ
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]
Trong ví dụ đầu tiên, một mảng nhiều chiều được trả về trong đó mỗi đoạn chứa 2 phần tử. Trong ví dụ thứ hai, vì đối số thứ ba được truyền là đúng nên chỉ mục của các phần tử trong mỗi đoạn giống với chỉ mục của chúng trong mảng ban đầu mà từ đó đoạn được tạo. Trong trường hợp này, mỗi đoạn chứa 2 phần tử là giá trị của kích thước được truyền cho hàm
Các chương trình dưới đây minh họa hàm array_chunk[] trong PHP
chương trình 1
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]2
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]3
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]4
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]5
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]6
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]7
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]0_______11
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]2
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]1
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]4
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]1
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]6
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]1
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]8
Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2]; Output : Array[ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [0] => c [1] => d ] [2] => Array [ [0] => e ] ] Input : $input_array = array['a', 'b', 'c', 'd', 'e']; array_chunk[$input_array, 2, true] Output : Array [ [0] => Array [ [0] => a [1] => b ] [1] => Array [ [2] => c [3] => d ] [2] => Array [ [4] => e ] ]9