Hàm array_chunk() trong PHP
# Description
Hàm array_chunk()
trong php có tác dụng cắt một mảng thành một mảng mới, trong đó mỗi phần tử của mảng mới là một mảng gồm n
phần tử (n
do người sư quyết định thông qua tham số của hàm) và các phần tử này chính là các phần tử mà ta đã cắt ở mảng gốc.
Ta có thể hiểu nôm na rằng hàm array_chunk()
phân chia các phần tử trong mảng thành các nhóm và mỗi nhóm sẽ có n
phần tử. Ví dụ ta có một mảng gồm 10 phần tử thì khi sử dụng hàm array_chunk()
với n = 3
thì ta sẽ có 4 nhóm, trong đó 3 nhóm đầu là 3 phần tử và nhóm cuối chỉ có 1 phần tử.
# Variables
Cú pháp: array array_chunk(array $array , int $size [, bool $preserve_keys = false ] )
Trong đó:
Bài viết này được đăng tại [free tuts .net]
- $array là mảng cần chuyển đổi
- $size số phần tử sẽ được gộp lại
- $preserve_keys có 2 giá trị TRUE hoặc FALSE, giá trị mặc định là FALSE. Nếu ta thiết lập TRUE thì các phần tử trong mỗi group của mảng mới sẽ được đánh chỉ mục tăng dần, ngược lại nếu bằng FALSE thì sau mỗi group các phần tử sẽ tính lại chỉ số 0.
# Return Values
Hàm array_chunk()
sẽ trả kết quả là một mảng mà ta đã cắt và phân nhóm và số phần tử của nó phụ thuộc vào tham số $size ở trên.
# Examples
Chúng ta sẽ làm các ví dụ để giải thích một số tham số trong hàm.
Trường hợp $preserve_key = FALSE
$input_array = array('a', 'b', 'c', 'd', 'e'); echo '<pre>'; // Gom nhóm với mỗi nhóm là 2 phần tử print_r(array_chunk($input_array, 2));
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c [1] => d ) [2] => Array ( [0] => e ) )
Các bạn để ý các phần tử của mỗi group được reset lại thành số 0 khi qua phần tử kết tiếp.
Trường hợp $preserve_key = TRUE
$input_array = array('a', 'b', 'c', 'd', 'e'); echo '<pre>'; // Gom nhóm với mỗi nhóm là 2 phần tử print_r(array_chunk($input_array, 2, true));<br><br><br><br><br>
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [2] => c [3] => d ) [2] => Array ( [4] => e ) )
Khác với ví dụ trên thì trong ví dụ này các phần tử của mỗi group sẽ có số chỉ mục liên tiếp nhau.
Gom nhóm với mỗi nhóm là 3 phần tử
Ta làm tiếp ví dụ trên nhưng phân mỗi nhóm là 3 phần tử nhé.
$input_array = array('a', 'b', 'c', 'd', 'e'); echo '<pre>'; // Gom nhóm với mỗi nhóm là 2 phần tử print_r(array_chunk($input_array, 3));
Array ( [0] => Array ( [0] => a [1] => b [2] => c ) [1] => Array ( [0] => d [1] => e ) )
Bài học tới đây là hết rồi :@