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 |