Có gì mới?

Chào mừng bạn đến với diễn đàn Tui Học Web

Vui lòng đăng ký hoặc đăng nhập để sử dụng hết các tính năng của forum nhé!
  • Thông báo: Hiện tại do admin không có nhiều thời gian và không thể tiếp tục quản trị và maintain forum, do đó forum sẽ có dự định được đóng lại từ 06/2022, cảm ơn mọi người đã đồng hành cùng forum suốt thời gian vừa qua. Cảm ơn rất nhiều.

Kiến thức Hàm array_chunk() trong PHP

Kiến thức
Tình trạng
Không mở trả lời sau này.

Hàm array_chunk() trong PHP​

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

Cú pháp: array array_chunk(array $array , int $size [, bool $preserve_keys = false])

Trong đó:
  • $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.
Trả về
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.

Ví dụ:

Trường hợp $preserve_key = FALSE


PHP:
$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));

Kết quả:

Mã:
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

PHP:
$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>

Kết quả:

Mã:
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ử

PHP:
$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));

Kết quả:

Mã:
Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
            [2] => c
        )

    [1] => Array
        (
            [0] => d
            [1] => e
        )
)

Hết.
 
Tình trạng
Không mở trả lời sau này.

Bài viết và chủ đề liên quan

shape1
shape2
shape3
shape4
shape7
shape8
Bên trên