1. Tổng quan về mảng và các hàm xử lý mảng trong PHP

Mảng trong PHP thực chất cũng là một biến. Nó có thể cho ta lưu trữ nhiều dữ liệu trong một biến duy nhất và ta có thể truy xuất thông qua các chỉ số. Các bạn có thể xem thêm về mảng qua bài Mảng trong PHP .

Các hàm xử lý mảng sẽ cho phép chúng ta truy cập, sửa đổi và thao tác với mảng một các dễ dàng. Dù là mảng một chiều hay đa chiều ta đều có thể sử dụng và thao tác với nó. Ta cũng có thể thao tác trực tiếp với các hàm này mà không cần phải cài đặt thêm bất kỳ thư viện nào vì nó là một phần của PHP.

Ví dụ: ta tạo một mảng và in ra một văn bản chứa các phần tử trong mảng đó

<?php
$laptrinhtudau = array("PHP","Python","C"); 
echo "Tôi đã học " . $laptrinhtudau[0] . ", " . $laptrinhtudau[1] . " và " . $laptrinhtudau[2]." tại laptrinhtudau.com" ;
?>

Kết quả

Tôi đã học PHP, Python và C tại laptrinhtudau.com

2. Các hàm thao tác với mảng trong PHP

Function Công dụng
array() Tạo một mảng
array_change_key_case() Thay đổi key trong mảng thành chữa thường hoặc hoa
array_chunk() Tách mảng thành nhiều mảng
array_column() Trả về các values từ một cột duy nhất trong mảng đầu vào
array_combine() Tạo một mảng bằng cách sử dụng các phần tử từ key của một mảng và values của một mảng
array_count_values() Đếm tất cả các giá trị của một mảng
array_diff() So sánh các mảng và trả về sự khác biệt (chỉ so sánh các values)
array_diff_assoc() So sánh các mảng và trả về sự khác biệt (so sánh các key và values)
array_diff_key() So sánh các mảng và trả về sự khác biệt (chỉ so sánh các key)
array_diff_ukey() So sánh các mảng và trả về sự khác biệt (chỉ so sánh các key, sử dụng chức năng so sánh khóa do người dùng xác định)
array_diff_uassoc() So sánh các mảng và trả về sự khác biệt (so sánh các key và values, sử dụng chức năng so sánh khóa do người dùng xác định)
array_fill() Điền vào một mảng với các values
array_fill_keys() Điền vào một mảng với các values, chỉ định các key
array_filter() Lọc các giá trị của một mảng bằng hàm gọi lại
array_flip() Trao đổi tất cả các key với các values được liên kết của chúng trong một mảng
array_intersect() So sánh các mảng và trả về các kết quả phù hợp (chỉ so sánh các values)
array_intersect_assoc() So sánh các mảng và trả về các kết quả phù hợp (so sánh các key và values)
array_intersect_key() So sánh các mảng và trả về các kết quả phù hợp (chỉ so sánh các key)
array_intersect_uassoc() So sánh các mảng và trả về các kết quả phù hợp (so sánh các key và values, sử dụng hàm so sánh key do người dùng xác định)
array_intersect_ukey() So sánh các mảng và trả về các kết quả phù hợp (chỉ so sánh các key, sử dụng chức năng so sánh key do người dùng xác định)
array_key_exists() Kiểm tra xem key được chỉ định có tồn tại trong mảng hay không
array_keys() Trả về tất cả các key của một mảng
array_map() Gửi từng giá trị của một mảng tới một hàm do người dùng tạo, hàm này sẽ trả về các values mới
array_merge() Hợp nhất một hoặc nhiều mảng thành một mảng
array_merge_recursive() Hợp nhất một hoặc nhiều mảng thành một mảng đệ quy
array_multisort() Sắp xếp mảng nhiều hoặc đa chiều
array_pad() Chèn một số mục cụ thể, với một values cụ thể, vào một mảng
array_pop() Xóa phần tử cuối cùng của một mảng
array_product() Tính tích các giá trị trong một mảng
array_push() Chèn một hoặc nhiều phần tử vào cuối một mảng
array_rand() Trả về một hoặc nhiều key ngẫu nhiên từ một mảng
array_reduce() Trả về một mảng dưới dạng một chuỗi, sử dụng hàm do người dùng xác định
array_replace() Thay thế các values của mảng
array_replace_recursive() Thay thế các giá trị của mảng đầu tiên bằng các giá trị từ các mảng sau một cách đệ quy
array_reverse() Trả về một mảng theo thứ tự ngược lại
array_search() Tìm kiếm một mảng cho một values nhất định và trả về key
array_shift() Loại bỏ phần tử đầu tiên khỏi một mảng và trả về values của phần tử đã loại bỏ
array_slice() Trả về các phần đã chọn của một mảng
array_splice() Loại bỏ và thay thế các phần tử được chỉ định của một mảng
array_sum() Trả về tổng các values trong một mảng
array_udiff() So sánh các mảng và trả về sự khác biệt (chỉ so sánh các values, sử dụng hàm so sánh khóa do người dùng xác định)
array_udiff_assoc() So sánh các mảng và trả về sự khác biệt (so sánh các key và values, sử dụng một hàm tích hợp để so sánh các key và một hàm do người dùng xác định để so sánh các values)
array_udiff_uassoc() So sánh các mảng và trả về sự khác biệt (so sánh các key và values, sử dụng hai hàm so sánh key do người dùng xác định)
array_unitersect() So sánh các mảng và trả về các kết quả phù hợp (chỉ so sánh các values, sử dụng hàm so sánh key do người dùng xác định)
array_unitersect_assoc() So sánh các mảng và trả về các kết quả phù hợp (so sánh các key và values, sử dụng một hàm tích hợp để so sánh các key và một hàm do người dùng xác định để so sánh các values)
array_unitersect_uassoc() So sánh các mảng và trả về các kết quả phù hợp (so sánh các key và values, sử dụng hai hàm so sánh key do người dùng xác định)
array_unique() Loại bỏ các giá trị trùng lặp khỏi một mảng
array_unshift() Thêm một hoặc nhiều phần tử vào đầu một mảng
array_values() Trả về tất cả các giá trị của một mảng
array_walk() Áp dụng một hàm của người dùng cho mọi thành viên của một mảng
array_walk_recursive() Áp dụng một cách đệ quy một hàm người dùng cho mọi thành viên của một mảng
arsort() Sắp xếp một mảng kết hợp theo thứ tự giảm dần, theo values
asort() Sắp xếp một mảng kết hợp theo thứ tự tăng dần, theo values
compact() Tạo mảng chứa các biến và values của chúng
count() Trả về số phần tử trong một mảng
current() Trả về phần tử hiện tại trong một mảng
each() Trả về cặp key và values hiện tại từ một mảng
end() Đặt con trỏ bên trong của một mảng thành phần tử cuối cùng của nó
extract() Nhập các biến vào bảng ký hiệu hiện tại từ một mảng
in_array() Kiểm tra xem một values được chỉ định có tồn tại trong một mảng hay không
key() Tìm nạp key từ một mảng
krsort() Sắp xếp một mảng kết hợp theo thứ tự giảm dần, theo key
ksort() Sắp xếp một mảng kết hợp theo thứ tự tăng dần, theo key
list() Gán các biến như thể chúng là một mảng
natcasesort() Sắp xếp mảng bằng thuật toán “thứ tự tự nhiên” không phân biệt chữ hoa chữ thường
natsort() Sắp xếp một mảng bằng thuật toán theo thứ tự tự nhiên
next() Nâng cao con trỏ mảng bên trong của một mảng
pos() tương tự như hàm current()
prev() Tua lại con trỏ mảng bên trong
range() Tạo một mảng có chứa một loạt các phần tử
reset() Đặt con trỏ bên trong của một mảng thành phần tử đầu tiên của nó
rsort() Sắp xếp một mảng được lập chỉ mục theo thứ tự giảm dần
shuffle() Trộn một mảng
sizeof() Tương tự hàm count()
sort() Sắp xếp một mảng được lập chỉ mục theo thứ tự tăng dần
uasort() Sắp xếp mảng theo values bằng hàm so sánh do người dùng xác định
uksort() Sắp xếp một mảng theo các phím bằng cách sử dụng hàm so sánh do người dùng xác định
usort() Sắp xếp một mảng bằng hàm so sánh do người dùng xác định