Hàm xử lý mảng trong PHP cung cấp nhiều hàm có cơ chế mạnh mẽ để thao tác và xử lý dữ liệu đa chiều. Từ các hàm cơ bản như array_push
và array_pop
cho đến các phương thức tiện ích như array_map
và array_filter
, PHP cung cấp một loạt các công cụ giúp người dùng tùy chỉnh, sắp xếp và trích xuất thông tin từ mảng một cách dễ dàng. Hãy cùng Vietnix tìm hiểu thêm về chủ đề các hàm xử lý mảng trong PHP qua bài viết dưới đây.
Mảng là gì?
Mảng (array) PHP là một loại cấu trúc dữ liệu cho phép lưu trữ nhiều phần tử cùng loại dưới một biến duy nhất bằng cách tiết kiệm công sức tạo một biến khác cho mỗi dữ liệu. Các mảng rất hữu ích để tạo danh sách các phần tử có kiểu tương đồng, có thể được truy cập bằng index hoặc key của chúng.
Các hàm xử lý mảng được phép tương tác và thao tác với các phần tử mảng theo nhiều cách khác nhau. Các hàm tích hợp sẵn của mảng PHP được sử dụng cho các mảng đơn giản và đa chiều. Qua đó bạn có thể giải quyết nhiều tình huống và tối ưu hóa quá trình lập trình, đồng thời cung cấp sự linh hoạt và hiệu suất cao khi làm việc với dữ liệu trong ứng dụng PHP của mình.
Ví dụ minh họa về một hàm xử lý mảng trong PHP:
<?php
// PHP program to illustrate the
// array_diff_uassoc() function
// user defined function that returns 0 if
// $array1's keys are equal to any other
// input array, else returns 1 if greater,
// or -1 if smaller
function user_function($a, $b)
{
if ($a===$b)
{
return 0;
}
return ($a>$b)? 1: -1;
}
// Input Arrays
$a1=array(10=>"striver", 20=>"raj", 30=>"geek");
$a2=array(20=>"striver", 10=>"raj", 30=>"geek");
$result = array_diff_uassoc($a1, $a2, "user_function");
print_r($result);
?>
Output như sau:
Array ( [10] => striver [20] => raj )
Mọi người cũng xem:
Danh sách hàm xử lý mảng trong PHP
Hàm xử lý mảng | Mô tả |
array_chunk() | Tách một mảng thành các phần hoặc chunk có kích thước nhất định. |
array_combine() | Tạo một mảng mới bằng cách sử dụng một mảng cho các key và một mảng khác cho các value. |
array_count_values() | Đếm tất cả các value bên trong một mảng. |
array_diff_assoc() | Nhận sự khác biệt giữa một hoặc nhiều mảng (so sánh bằng key và value) |
array_diff_keys() | Nhận sự khác biệt giữa một hoặc nhiều mảng (dùng key để so sánh) |
array_diff_uassoc() | So sánh các key và value của hàm do người dùng xác định. |
array_diff_ukey() | So sánh key với hai hoặc nhiều mảng |
array_diff() | Tính toán sự khác biệt giữa hai hoặc nhiều mảng (dùng value để so sánh) |
array_fill_keys() | Tạo một mảng mới chứa các key và value đã cho được cung cấp dưới dạng một mảng cho hàm. |
array_fill() | Điền vào một mảng với các value. |
array_filter() | Lọc các phần tử của một mảng bằng hàm do người dùng định nghĩa. |
array_flip() | Trao đổi các phần tử trong một mảng |
array_intersect_assoc() | Tính toán giao điểm của hai hoặc nhiều mảng. (so sánh bằng key, value) |
array_intersect_key() | Tính toán giao điểm của hai hoặc nhiều mảng (dùng key để so sánh) |
array_intersect_uassoc() | So sánh key và value của hai hoặc nhiều mảng |
array_intersect() | So sánh các value của hai hoặc nhiều mảng và trả về kết quả khớp. |
array_key_exists() | Kiểm tra xem một key hoặc index cụ thể có xuất hiện bên trong một mảng hay không. |
array_keys() | Trả về tất cả các key của một mảng hoặc tập hợp con của các key. |
array_merge_recursive() | Hợp nhất hai hoặc nhiều mảng thành một mảng theo cách đệ quy. |
array_multisort() | Sắp xếp nhiều mảng cùng lúc hoặc một mảng nhiều chiều với từng chiều riêng biệt. |
array_pad() | Thêm các giá trị cho trước vào mảng theo kích thước mong muốn. |
array_pop() | Xóa hoặc cắt ra và trả về phần tử cuối cùng từ một mảng được truyền cho nó dưới dạng tham số. |
array_product() | Tích của tất cả các phần tử trong một mảng. |
array_push() | Đẩy các phần tử mới vào một mảng. |
array_rand() | Lấy một số phần tử ngẫu nhiên từ một mảng. |
array_reduce() | Giảm các phần tử của một mảng thành một value duy nhất |
array_replace_recursive() | Thay thế các value của mảng đầu tiên bằng các value khác |
array_replace() | Nó lấy một danh sách các mảng được phân tách bằng dấu phẩy (,) làm tham số |
array_reverse() | Đảo ngược các phần tử của một mảng bao gồm cả các mảng lồng nhau. |
array_search() | Tìm kiếm một value cụ thể trong một mảng |
array_shift() | Loại bỏ một phần tử ra khỏi đầu trong một mảng. |
array_slice() | Trích xuất một phần của một mảng và tạo ra một mảng mới chứa các phần tử được lấy ra. |
array_splice() | Thay thế phần tử hiện có bằng các phần tử từ các mảng khác và trả về một mảng |
array_sum() | Nó nhận một tham số mảng và trả về tổng của tất cả các value trong đó. |
array_udiff_assoc() | Hàm tính các mảng chênh lệch từ hai mảng trở lên |
array_udiff() | Phân biệt giữa hai hoặc nhiều mảng. |
array_uintersect_assoc() | Tính toán giao điểm của mảng key cho các value khác nhau của hai hoặc nhiều mảng. |
array_uintersect_uassoc() | Tính giao của hai mảng. |
array_uintersect() | Tính toán giao điểm của hai hoặc nhiều mảng tùy thuộc vào các value |
array_unique() | Hàm này loại bỏ các giá trị trùng lặp. |
array_unshift() | Các phần tử được thêm vào phần đầu của mảng. |
array_values() | Nhận một mảng value từ một mảng khác có thể chứa các cặp key-value hoặc chỉ các value. |
array_walk_recursive() | Các key và value của phần tử mảng là các tham số trong hàm gọi lại. |
array_walk() | Nó là một hàm do người dùng định nghĩa cho mọi phần tử của mảng. |
array() | Điều này được sử dụng để tạo một mảng. |
arsort() | Sắp xếp một mảng theo các value. |
compact() | Tạo một mảng sử dụng các biến. |
count() | Đếm các phần tử hiện tại trong mảng. |
current() | Trả về value của phần tử trong một mảng là con trỏ bên trong. |
end() | Tìm phần tử cuối cùng của mảng đã cho. |
extract() | Hàm extract() thực hiện chuyển đổi mảng thành biến. |
in_array() | Kiểm tra xem một value đã cho có tồn tại trong một mảng hay không. |
key() | Trả về chỉ số của phần tử của một mảng đã cho là con trỏ bên trong. |
krsort() | Sắp xếp một mảng theo key theo thứ tự ngược lại theo các value chỉ mục của nó. |
ksort() | Sắp xếp một mảng theo thứ tự tăng dần theo các value chính của nó. |
list() | Gán value mảng cho nhiều biến cùng một lúc. |
natcasesort() | Sắp xếp một mảng bằng thuật toán “thứ tự tự nhiên”. |
natsort() | Sắp xếp một mảng bằng cách sử dụng “thứ tự tự nhiên”, nó không kiểm tra loại value để so sánh |
next() | Hàm next() tăng con trỏ bên trong sau khi trả về value |
pos() | Trả về value của phần tử trong một mảng mà con trỏ bên trong hiện đang trỏ tới. |
prev() | Trả về phần tử ngay trước đó từ một mảng. |
range() | Tạo một mảng các phần tử thuộc bất kỳ loại nào như số nguyên, bảng chữ cái trong một phạm vi nhất định |
reset() | Di chuyển con trỏ bên trong của bất kỳ mảng nào đến phần tử đầu tiên của mảng đó. |
rsort() | Sắp xếp mảng theo thứ tự giảm dần tức là từ lớn nhất đến nhỏ nhất. |
shuffle() | Xáo trộn hoặc sắp xếp ngẫu nhiên thứ tự của các phần tử trong một mảng. |
sizeof() | Đếm số phần tử có trong một mảng hoặc bất kỳ đối tượng đếm được nào khác. |
sort() | Sắp xếp một mảng theo thứ tự tăng dần tức là từ nhỏ đến lớn. |
uasort() | Sắp xếp một mảng theo giá trị của các phần tử dựa vào một hàm so sánh tùy chỉnh do người dùng xác định. |
uksort() | Sắp xếp một mảng theo các key chứ không phải value bằng hàm so sánh do người dùng xác định. |
usort() | Sắp xếp mảng theo cách dễ dàng hơn. |
each() | Nhận cặp key-value phần tử hiện tại của mảng đã cho mà con trỏ bên trong hiện đang trỏ tới. |
Ứng dụng của hàm xử lý mảng trong PHP chủ yếu được sử dụng để thực hiện các thao tác và xử lý dữ liệu trong các ứng dụng web và hệ thống. Các hàm xử lý mảng giúp đơn giản hóa quá trình xử lý dữ liệu, cung cấp tính linh hoạt và hiệu suất trong việc làm việc với các tập dữ liệu đa dạng.
Lời kết
Vietnix hy vọng nội dung bài viết trên đã giúp bạn hiểu rõ hơn về các hàm xử lý mảng trong PHP. Ngoài ra, bạn cũng có thể tham khảo thêm các bài viết khác tại vietnix.vn để hiểu hơn về lập trình, chúc bạn thành công!