Hàm array_chunk() trong PHP

Hàm array_chunk() trong PHP
Hàm array_chunk() trong PHP

Chức năng của Hàm array_chunk() trong PHP

Hàm array_chunk() trong PHP dùng để chia một mảng lớn ra nhiều mảng nhỏ, những mảng nhỏ đó đều nằm trong mảng lớn hiện tại, mỗi mảng nhỏ sẽ được chia số phần tử bằng số phần tử được chia quy định trong hàm.

Cú pháp của Hàm array_chunk() trong PHP

array_chunk($mảng_gốc,số_phần_tử_được_chia);

$mảng_gốc: Biến của mảng gốc.

số_phần_tử_được_chia: Số phần tử được chia trên các mảng con, nếu mảng con cuối cùng không đủ thì cho nó thiếu còn mấy mảng con trước đủ phần tử được chia.

Ví dụ Hàm array_chunk() trong PHP

<?php
$mangoc = array("Luc"=>"550000","Van"=>"250000","Quynh"=>"200000","Dung"=>"300000","Cherry"=>"350000");
?>

<h2>array_chunk() Chia mỗi mảng nhỏ chứa 2 phần tử</h2>
<?=print_r(array_chunk($mangoc, 2));?>

<h2>array_chunk() Chia mỗi mảng nhỏ chứa 1 phần tử</h2>
<?=print_r(array_chunk($mangoc, 1));?>

<h2>array_chunk() Chia mỗi mảng nhỏ chứa 3 phần tử</h2>
<?=print_r(array_chunk($mangoc, 3));?>

Kết quả:

/////array_chunk() Chia mỗi mảng nhỏ chứa 2 phần tử
Array ( [0] => Array ( [0] => 550000 [1] => 250000 ) [1] => Array ( [0] => 200000 [1] => 300000 ) [2] => Array ( [0] => 350000 ) ) 1
/////array_chunk() Chia mỗi mảng nhỏ chứa 1 phần tử
Array ( [0] => Array ( [0] => 550000 ) [1] => Array ( [0] => 250000 ) [2] => Array ( [0] => 200000 ) [3] => Array ( [0] => 300000 ) [4] => Array ( [0] => 350000 ) ) 1
/////array_chunk() Chia mỗi mảng nhỏ chứa 3 phần tử
Array ( [0] => Array ( [0] => 550000 [1] => 250000 [2] => 200000 ) [1] => Array ( [0] => 300000 [1] => 350000 ) ) 1

Chạy Thử

Những điều cần biết khi sử dụng hàm array_chunk() trong PHP

Khi chia một mảng thành nhiều phần bằng array_chunk(), bạn nên hiểu cách hàm xử lý dữ liệu gốc và các phần tử còn lại. Những lưu ý này giúp hạn chế lỗi khi áp dụng vào danh sách sản phẩm, dữ liệu truy vấn hoặc các tác vụ cần xử lý theo từng nhóm.

array_chunk() có làm thay đổi mảng ban đầu không?

array_chunk() không thay đổi trực tiếp mảng ban đầu. Hàm tạo ra một mảng mới gồm các nhóm phần tử được chia theo kích thước đã chỉ định, vì vậy dữ liệu gốc vẫn có thể tiếp tục được sử dụng sau khi thực hiện.

Điều này hữu ích khi bạn muốn chia dữ liệu để xử lý riêng nhưng vẫn cần giữ nguyên danh sách ban đầu cho những thao tác khác.

<?php
$products = ['Laptop', 'Mouse', 'Keyboard', 'Monitor'];

$groups = array_chunk($products, 2);

print_r($products);
print_r($groups);
?>

Trong ví dụ trên, biến $products vẫn giữ nguyên 4 phần tử, còn $groups chứa các nhóm mới được tạo ra từ mảng đó.

Cách xử lý phần tử khi mảng cuối không đủ số lượng

Nếu tổng số phần tử không chia hết cho kích thước mỗi nhóm, array_chunk() vẫn giữ lại các phần tử dư và đưa chúng vào nhóm cuối cùng. Nhóm cuối có thể ít phần tử hơn những nhóm trước.

Chẳng hạn, một mảng có 5 phần tử được chia thành các nhóm 2 phần tử sẽ tạo thành 3 nhóm, trong đó nhóm cuối chỉ còn 1 phần tử. Vì vậy, khi hiển thị hoặc xử lý từng nhóm, không nên mặc định tất cả nhóm đều có cùng số lượng phần tử.

Khi nào nên sử dụng array_chunk() để chia mảng?

array_chunk() phù hợp khi dữ liệu cần được xử lý theo từng nhóm có kích thước cố định. Một số trường hợp thường gặp là chia danh sách thành nhiều phần để hiển thị, phân nhóm dữ liệu trước khi xử lý hoặc giới hạn số lượng bản ghi trong mỗi lần thao tác.

Việc chia dữ liệu thành các nhóm nhỏ cũng giúp mã nguồn dễ tổ chức hơn, đặc biệt khi mỗi nhóm cần được xử lý bằng một quy trình riêng. Tuy nhiên, nếu yêu cầu chỉ đơn giản là lấy một đoạn phần tử theo vị trí thì các hàm xử lý mảng khác có thể phù hợp hơn.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Hàm array_chunk() trong PHP.

  • 0 Bình luận
Trần Thị Vân | Content Creator Web Mới
Trần Thị Vân
Trần Thị Vân là Content Creator tại Web Mới, phụ trách nghiên cứu, biên soạn nội dung và chia sẻ kiến thức về website, SEO, lập trình cùng các xu hướng công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Hàm array_chunk() trong PHP
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !