// Using short array syntax.
// Also, works with array[] syntax.
$arr1 = [1, 2, 3];
$arr2 = [...$arr1]; //[1, 2, 3]
$arr3 = [0, ...$arr1]; //[0, 1, 2, 3]
$arr4 = [...$arr1, ...$arr2, 111]; //[1, 2, 3, 1, 2, 3, 111]
$arr5 = [...$arr1, ...$arr1]; //[1, 2, 3, 1, 2, 3]
function getArr[] {
return ['a', 'b'];
}
$arr6 = [...getArr[], 'c' => 'd']; //['a', 'b', 'c' => 'd']
?>
Trong bài đăng này, bạn sẽ tìm hiểu những kiến thức cơ bản về mảng trong PHP là gì. Bạn sẽ học cách tạo một mảng và cách sử dụng các mảng kết hợp và nhiều chiều, đồng thời bạn sẽ thấy rất nhiều ví dụ về các giá trị của mảng với PHP đang hoạt động.
Mảng trong PHP là gì?
Trong PHP, mảng là một cấu trúc dữ liệu cho phép bạn lưu trữ nhiều phần tử trong một biến duy nhất. Các phần tử này được lưu trữ dưới dạng cặp khóa-giá trị. Trên thực tế, bạn có thể sử dụng mảng bất cứ khi nào cần lưu trữ danh sách các phần tử. Thông thường, tất cả các phần tử trong một mảng đều có kiểu dữ liệu giống nhau
Ví dụ: giả sử bạn muốn lưu trữ tên trái cây. Nếu không có mảng, bạn sẽ phải tạo nhiều biến để lưu tên các loại trái cây khác nhau. Mặt khác, nếu bạn sử dụng một mảng để lưu tên các loại trái cây, nó có thể trông như thế này
1
Như bạn có thể thấy, chúng tôi đã sử dụng biến
?>
89 để lưu tên các loại trái cây khác nhau. Một điều tuyệt vời về cách tiếp cận này là bạn có thể thêm nhiều phần tử hơn vào biến mảng ?>
89 sau nàyCó rất nhiều cách để thao tác các giá trị mảng trong PHP—chúng ta sẽ khám phá những cách này trong phần sau của bài viết này
Cách khởi tạo một mảng
Trong phần này, chúng ta sẽ khám phá cách khởi tạo một biến mảng trong PHP và thêm các giá trị vào biến đó
Khi nói đến việc khởi tạo mảng, có một vài cách khác nhau. Trong hầu hết các trường hợp, đó là cấu trúc ngôn ngữ
?>
91 được sử dụng để khởi tạo một mảng1
Trong đoạn mã trên, biến
?>
92 được khởi tạo với một mảng trốngKể từ PHP 5. 4, bạn cũng có thể sử dụng cú pháp sau để khởi tạo một mảng
1
Bây giờ, hãy xem cách thêm các phần tử vào một mảng trong cấu trúc dữ liệu mảng PHP này
1
Đoạn mã trên sẽ tạo ra đầu ra sau
1
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];5_______2_______3_______7_______4_______
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];9
24
31
26
33
28
35
Điều quan trọng cần lưu ý ở đây là các chỉ số mảng trong PHP bắt đầu bằng 0. Bất cứ khi nào bạn thêm phần tử mới vào mảng mà không chỉ định chỉ mục, mảng sẽ tự động gán chỉ mục
Tất nhiên, bạn cũng có thể tạo một mảng đã được khởi tạo với các giá trị. Đây là cách ngắn gọn nhất để khai báo một mảng với PHP nếu bạn đã biết nó sẽ có những giá trị gì
1
Cách truy cập các phần tử mảng
Trong phần trước, chúng ta đã thảo luận về cách khởi tạo một biến mảng. Trong phần này, chúng ta sẽ khám phá một số cách khác nhau để truy cập các phần tử mảng
Cách rõ ràng đầu tiên để truy cập các phần tử mảng là tìm nạp chúng bằng khóa hoặc chỉ mục của mảng
1
93 để lặp qua các phần tử mảng.
1
Đoạn mã trên sẽ tạo ra cùng một đầu ra và cần ít mã hơn nhiều
Tương tự, bạn cũng có thể sử dụng vòng lặp
?>
94 để duyệt qua các phần tử của mảng1
Ở đây, chúng tôi đang sử dụng vòng lặp
?>
94 để đi qua từng chỉ mục trong mảng và sau đó lặp lại giá trị được lưu trữ trong chỉ mục đó. Trong đoạn mã này, chúng tôi đã giới thiệu một trong những hàm quan trọng nhất mà bạn sẽ sử dụng khi làm việc với mảng. ?>
96. Nó dùng để đếm xem có bao nhiêu phần tử trong một mảngCác loại mảng trong PHP
Trong phần này, chúng ta sẽ thảo luận về các loại mảng khác nhau mà bạn có thể sử dụng trong PHP
Mảng được lập chỉ mục bằng số
Mảng có chỉ số thuộc loại mảng được lập chỉ mục. Trên thực tế, các ví dụ mà chúng ta đã thảo luận cho đến giờ trong bài viết này là các mảng được lập chỉ mục
Chỉ mục số được gán tự động khi bạn không chỉ định rõ ràng
1
Trong ví dụ trên, chúng tôi không chỉ định rõ ràng chỉ mục cho từng mục, vì vậy nó sẽ tự động được khởi tạo với chỉ mục số
Tất nhiên, bạn cũng có thể tạo một mảng được lập chỉ mục bằng cách sử dụng chỉ mục số, như được hiển thị trong cấu trúc PHP đoạn trích sau
1
Cũng có thể có các mảng có các phím số không theo thứ tự hoặc bắt đầu từ 0, như ví dụ sau
1
Để truy cập các giá trị của một mảng kết hợp, bạn có thể sử dụng chỉ mục hoặc vòng lặp
?>
931
Như bạn có thể thấy, ở đây chúng tôi đã nhận được tên bằng cách truy vấn trực tiếp và sau đó chúng tôi sử dụng vòng lặp
?>
93 để lấy tất cả các cặp khóa-giá trị trong mảngMảng đa chiều
Trong các ví dụ mà chúng ta đã thảo luận cho đến nay, chúng ta đã sử dụng các giá trị vô hướng làm phần tử mảng. Trên thực tế, bạn thậm chí có thể lưu trữ các mảng dưới dạng các phần tử bên trong các mảng khác—đây là một mảng nhiều chiều
Hãy xem ví dụ về mảng PHP này
1
Như bạn có thể thấy, khóa
?>
99 trong mảng 100 chứa một mảng sở thích. Theo cách tương tự, khóa
101 chứa một mảng kết hợp của các cấu hình khác nhau
Hãy xem cách truy cập các giá trị của một mảng nhiều chiều
1
Như bạn có thể thấy, các phần tử của mảng nhiều chiều có thể được truy cập bằng chỉ số hoặc khóa của phần tử đó trong mỗi phần của mảng
Giải nén các giá trị mảng bằng PHP
Bắt đầu từ phiên bản 7. 4, PHP đã thêm khả năng mở rộng mảng tại chỗ bằng cách sử dụng toán tử trải rộng [
102].
1
Ban đầu, chúng tôi chỉ có thể giải nén các giá trị mảng trong PHP bằng các phím số. Tuy nhiên, PHP8. 1 đi kèm với hỗ trợ giải nén mảng bằng các phím chuỗi. Dưới đây là một số ví dụ
1
Bạn nên lưu ý rằng việc giải nén mảng theo cách này dẫn đến việc ghi đè lên các giá trị hiện có được lưu trữ trong các khóa dựa trên chuỗi, trong khi các khóa số chỉ được đánh số lại. Việc giải nén
103 trước
104 trong ví dụ trên sẽ đặt giá trị của khóa
105 thành
106 trong mảng
107
Một số hàm mảng PHP hữu ích
Trong phần này, chúng ta sẽ tìm hiểu một số hàm mảng hữu ích được sử dụng thường xuyên cho các hoạt động của mảng
Hàm 1
08
Hàm
108 dùng để đếm số phần tử trong mảng. Điều này thường hữu ích nếu bạn muốn lặp một mảng bằng vòng lặp
?>
941
Tuy nhiên, bạn nên cẩn thận khi lặp qua một mảng với vòng lặp
?>
94. Điều này là do không có gì đảm bảo rằng các phím số trong một mảng sẽ luôn tuần tự, bắt đầu từ số 0 hoặc theo thứ tự tăng dần đơn giảnHàm 1
12
Đây là một trong những chức năng hữu ích nhất để xử lý các mảng. Nó được sử dụng để kiểm tra xem một biến là một mảng hay một số loại dữ liệu khác
1
Bạn phải luôn sử dụng chức năng này trước khi thực hiện bất kỳ thao tác mảng nào nếu bạn không chắc chắn về kiểu dữ liệu
Hàm 1
13
Nếu bạn muốn kiểm tra xem một phần tử có tồn tại trong mảng hay không, thì đó là hàm
113 để giải cứu.
1
Đối số đầu tiên của hàm
116 là một chuỗi dấu phân cách [chuỗi bạn đang tách] và đối số thứ hai là chính chuỗi đó
Hàm 1
19
Điều này ngược lại với hàm
116—được cung cấp một mảng và một chuỗi keo, hàm
119 có thể tạo một chuỗi bằng cách nối tất cả các phần tử của một mảng bằng một chuỗi keo giữa chúng
1
Đối số đầu tiên của hàm
119 là một chuỗi keo và đối số thứ hai là mảng sẽ nổ
Hàm 1
23
Hàm
123 dùng để thêm phần tử mới vào cuối mảng
1
Đối số đầu tiên là một mảng và các đối số tiếp theo là các phần tử sẽ được thêm vào cuối mảng
Hàm 1
25
Hàm
125 xóa phần tử ở cuối mảng
1
02
24
26
29
28
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];1
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];0
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];2
335
16
337
18
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];06
Hàm
125 trả về phần tử bị xóa khỏi mảng, vì vậy bạn có thể kéo phần tử đó vào biến. Cùng với
123, chức năng này rất hữu ích để triển khai các cấu trúc dữ liệu như ngăn xếp
Hàm 1
29
Hàm
129 rất hữu ích khi bạn muốn trích xuất một số phần của một mảng đã cho. Nó chấp nhận bốn tham số. mảng, chỉ mục để cắt, số lượng phần tử để cắt và liệu có giữ nguyên khóa số hay không. Hàm sẽ luôn bảo toàn các khóa chuỗi, bất kể tham số thứ tư
1
27
24
26
?>
3028
?>
32$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];0
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];02
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];2
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];04
16
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];06
18
?>
4042
44
46
Giá trị offset cũng có thể âm. Trong trường hợp đó, vị trí cắt sẽ được xác định từ cuối mảng
Hàm 1
31
Hàm
131 rất hữu ích khi bạn muốn loại bỏ một phần của mảng và/hoặc thay thế nó bằng một phần khác. Nó cũng chấp nhận bốn tham số. mảng, chỉ số offset để bắt đầu xóa, độ dài cần xóa và tùy chọn thay thế cho các giá trị đã xóa
1
57
24
?>
5926
28
?>
62$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];0
?>
64$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];2
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];02
16
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];04
18
$array_fruits = array['Apple', 'Orange', 'Watermelon', 'Mango'];06
72
74
76
78
80
82
Vậy là xong—Bây giờ bạn đã biết Mảng trong PHP là gì
Đó là tất cả những gì bạn cần biết để bắt đầu viết mã với mảng trong PHP. Bạn đã biết cách tạo mảng và cách truy xuất các phần tử từ mảng. Bạn đã học các loại mảng khác nhau trong PHP và bạn đã xem qua một số hàm PHP tích hợp hữu ích nhất để làm việc với mảng