1. Khái niệm:
Mảng là một biến đặc biệt và có thể lưu trữ nhiều giá trị (còn biến thường chỉ lưu 1 giá trị). Trong PHP có loại mảng: mảng chỉ số nguyên, mảng chỉ số kết hợp và mảng đa chiều.
Mảng số nguyên | Mảng kết hợp | Mảng đa chiều | |
Tên gọi khác | Mảng liên tục | Mảng không liên tục | Mảng lồng |
Đặc điểm |
Chí số của mảng là số |
Chí số của mảng là chuỗi hoặc số |
Mỗi phần tử trong mảng chính có thể là một mảng và mỗi phần tử trong mảng con cũng có thể là một mảng |
In mảng | Câu lệnh for | Câu lệnh foreach |
2. Các hàm xử lý mảng:
STT | Hàm | Chức năng |
1 | print_r ($array) | Xem cấu trúc của mảng |
2 | count ($array) | Trả về giá trị kiểu số nguyên là số phần tử của mảng |
3 | array_values ($array) | Trả về một mảng liên tục có các phần tử có giá trị là giá trị lấy từ các phần tử của mảng $array |
4 | array_keys ($array) | Trả về một mảng liên tục có các phần tử có giá trị là khóa lấy từ các phần tử của mảng $array. |
5 | array_pop ($array) | Loại bỏ phần tử cuối cùng của mảng. Hàm trả về phần tử cuối cùng đã được loại bỏ. |
6 | array_shift ($array) | Loại bỏ phần tử đầu tiên của mảng. Hàm trả về phần tử đầu tiên đã được loại bỏ. |
7 | array_unique ($array) | Loại bỏ những phần tử trùng nhau trong mảng và trả về mảng mới |
8 | unset() | Xóa phần tử ở vị trí bất kỳ của mảng |
9 | array_push
($array, $val1, $val2, … , $valn) |
Thêm một hoặc nhiều phần tử vào cuối mảng $array. Hàm trả về kiểu số nguyên là số lượng phần tử của mảng $array mới |
10 | array_unshift
($array, $val1, $val2, … , $valn) |
Thêm một hoặc nhiều phần tử vào đầu mảng $array. Hàm trả về kiểu số nguyên là số lượng phần tử của mảng $array mới |
11 |
array_reverse ($array) |
Đảo ngược vị trí các phần tử của mảng, phần tử cuối trở thành phần tử đầu tiên, phần tử kế cuối trở thành phần tử thứ nhì, … kết quả trả về là một mảng mới |
12 | array_flip ($array) | Trả về một mảng có khóa và giá trị được hoán đổi cho nhau so với mảng $array (giá trị thành khóa và khóa thành giá trị) |
13 | array_sum ($array) | Tính tổng các phần tử trong mảng |
14 | min ($array) | Xác định phần tử nhỏ nhất trong mảng |
15 | max ($array) | Xác định phần tử lớn nhất trong mảng |
16 | array_count_values(array) | Thống kê số lần xuất hiện của các phần tử trong mảng |
17 | array_merge
($array1, $array2, …, $arrayn) |
Nhập 2 hay nhiều mảng thành một mảng duy nhất và trả về mảng mới |
18 | array_rand ($array, $number) | Lấy ngẫu nhiên $number phần tử từ mảng $array và đưa vào màng mới (lấy giá trị khóa) |
19 | array_search ($value, $array) | Tìm phần tử mang giá trị $value trong mảng $array. Trả về khóa của phần tử tìm được. |
20 | array_key_exists ($key, $array) | Kiểm tra khóa $key có tồn tại trong mảng $array hay không? Nếu có trả về giá trị true. |
21 | in_array ($value, $array) | Kiểm tra giá trị $value có tồn tại trong mảng $array hay không? Nếu có trả về giá trị true. |
22 |
array_slice ($array, $begin. $finish) | Trích lấy 1 đoạn phần tử của mảng $array từ vị trí $begin đến vị trí
$finish. Phần tư đầu tiên (chỉ số 0), phần tử cuối cùng (chỉ số -1 hay count($array) – 1) |
23 | array_change_key_case ($array, case) | Chuyển đồi các key trong mảng thành chữ hoa hoặc chữ thường |
24 | implode ($str, $array) | Chuyển các giá trị của mảng $array thành một chuỗi bao gồm các phần tử cách nhau bởi ký tự $str |
25 | explode ($delimiter, $str) | Chuyển một chuỗi thành một mảng. Tách chuỗi dựa vào $delimiter, mỗi đoàn tách ra sẽ thành một phần tử của mảng mới |
26 | current($array) | Truy xuất phần tử hiện tại của mảng |
27 | end($array) | Truy xuất phần tử cuối cùng của mảng |
28 | next($array) | Truy xuất phần tử sau phần tử hiện tại của mảng |
29 | prev($array) | Truy xuất phần tử trước phần tử hiện tại của mảng |
30 | reset() | Quay về vị trí phần tử đầu tiên trong mảng |
31 | serialize ($value) | Chuyển chuỗi/mảng/đối tượng $value thành một chuỗi đặc biệt để lưu vào cơ sở dữ liệu |
32 | unserialize ($value) | Chuyển chuỗi đặc biệt được tạo từ serialize($value) về trạng thái ban đầu |
33 | shuffle ($array) | Tạo ra mảng mới (mảng liên tục) với thứ tự các phần tử trong mảng bị thay đổi |
34 | compact() | Tạo ra mảng mới từ các biến có sẵn |
35 | range() | Sử dụng hàm range để tạo ra các phần tử của mảng |
36 |
array_combine ($keys, $values) | Tạo một mảng mới có khóa được lấy từ mảng $keys và giá trị được lấy từ mảng $values theo tuần tự (Yêu cầu số phần tử ở 2 mảng phải bằng nhau) |
37 | array_diff ($array1, $array2) | Trả về một mảng bao gồm các phần tử có giá trị tồn tại trong mảng
$array1 nhưng không tồn tại trong mảng $array2 |
38 | array_diff _key ($array1, $array2) | Trả về một mảng bao gồm các phần tử có khóa tồn tại trong mảng
$array1 nhưng không tồn tại trong mảng $array2 |
39 | array_diff_assoc ($array1, $array2) | Trả về một mảng bao gồm các phần tử có khóa tồn tại trong mảng
$array1 nhưng không tồn tại trong mảng $array2 |
40 | array_intersect ($array1, $array2) | Trả về một mảng bao gồm các phần tử giống nhau về giá trị giữa 2 mảng $array1 và $array2 |
41 | array_intersect_key ($array1, $array2) | Trả về một mảng bao gồm các phần tử giống nhau về khóa giữa 2 mảng
$array1 và $array2 |
42 | array_intersect_assoc ($array1, $array2) | Trả về một mảng bao gồm các phần tử giống nhau về khóa và giá trị giữa 2 mảng $array1 và $array2 |
43 | array_walk () | Gửi các giá trị của mảng đến một hàm nào đó để xử lý và nhận kết quả trả về là một mảng mới |
44 | array_map () | Gửi các giá trị của một hay nhiều mảng đến một hàm nào đó để xử lý và nhận kết quả trả về là một mảng mới |
45 | array_slice
(array, offset ,length,preserve) |
Trích xuất lấy một đoạn phần tử của mảng tử từ vị trí bắt đầu offset (vị trí bắt đầu trong mảng là 0) và lấy length phần tử. |
46 | array_splice
(array1, offset ,length, array2) |
Xóa bỏ một đoạn phần tử của mảng array1 tử từ vị trí bắt đầu và lấy length phần tử. Sau đó thay thế các phần tử bị loại bỏ bằng mảng array2 |
47 | sort(array) | Sắp xếp các phần tử trong mảng array tăng dần theo giá trị |
48 | rsort(array) | Sắp xếp các phần tử trong mảng array giảm dần theo giá trị |
49 | ksort(array) | Sắp xếp các phần tử trong mảng array tăng dần theo khóa |
50 | krsort(array) | Sắp xếp các phần tử trong mảng array giảm dần theo khóa |