Trong hướng dẫn này, tôi sẽ tạo một danh sách các hàm mảng PHP phổ biến, với các ví dụ về cách sử dụng và các phương pháp hay nhất. Mọi nhà phát triển PHP phải biết cách sử dụng chúng và cách kết hợp các hàm mảng để làm cho mã dễ đọc và ngắn gọn.
Ngoài ra, còn có một bản trình bày với các ví dụ mã nhất định, vì vậy bạn có thể tải xuống từ các liên kết có liên quan và hiển thị cho đồng nghiệp của mình để xây dựng một nhóm mạnh hơn
Những thứ cơ bản
Có hai cách khác nhau để tạo mảng. Một là sử dụng
/* Array
36 để chỉ định các phần tử dưới dạng cặp khóa-giá trị. Phương pháp khác là đặt tất cả các phần tử bên trong /* Array
37. Có hai điểm quan trọng mà bạn nên nhớ khi tạo mảng liên kết với các cặp khóaĐầu tiên, khóa luôn phải là duy nhất. Nếu bạn cố gắng sử dụng cùng một khóa nhiều lần trong một mảng, PHP sẽ bỏ qua tất cả các cặp khóa-giá trị khác ngoại trừ cặp khóa cuối cùng. Thứ hai, nếu một khóa được tạo dưới dạng float, bool và các biểu diễn chuỗi hợp lệ của số nguyên, thì nó sẽ được chuyển thành số nguyên
Dưới đây là một vài ví dụ về tạo mảng trong PHP
1
$first = array[10, "Apple", 20, -18, "Monkey"];
2
print_r[$first];
3
/* Array
4
[
/* Array
0/* Array
1$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];1
$first = array[10, "Apple", 20, -18, "Monkey"];2
$first = array[10, "Apple", 20, -18, "Monkey"];3
$first = array[10, "Apple", 20, -18, "Monkey"];4
$first = array[10, "Apple", 20, -18, "Monkey"];5
$first = array[10, "Apple", 20, -18, "Monkey"];6
$first = array[10, "Apple", 20, -18, "Monkey"];7
$first = array[10, "Apple", 20, -18, "Monkey"];8
$first = array[10, "Apple", 20, -18, "Monkey"];9
20
21
22
23
24
25
/* Array
27
[
29
/* Array
1print_r[$first];1
$first = array[10, "Apple", 20, -18, "Monkey"];1
print_r[$first];3
$first = array[10, "Apple", 20, -18, "Monkey"];3
print_r[$first];5
$first = array[10, "Apple", 20, -18, "Monkey"];5
print_r[$first];7
$first = array[10, "Apple", 20, -18, "Monkey"];7
print_r[$first];9
$first = array[10, "Apple", 20, -18, "Monkey"];9
31
32
33
34
35
36
/* Array
38
[
/* Array
0/* Array
1/* Array
2/* Array
3/* Array
4$first = array[10, "Apple", 20, -18, "Monkey"];3
/* Array
6/* Array
7/* Array
8/* Array
940
$first = array[10, "Apple", 20, -18, "Monkey"];9
Như bạn có thể thấy, sử dụng
/* Array
36 hoặc /* Array
37 là tương đương khi tạo mảng. Ký hiệu tốc ký đã có sẵn bắt đầu từ PHP 5. 4Bạn cũng không cần chỉ định khóa cho mọi giá trị mảng. Khi bị bỏ qua, PHP đặt khóa thành nhiều hơn một khóa số nguyên được chỉ định lớn nhất. Tất cả các khóa được gán tự động sẽ lớn hơn hoặc bằng 0
Làm việc với khóa và giá trị
Hãy bắt đầu với các hàm cơ bản hoạt động với các khóa và giá trị của mảng. Một trong số đó là
/* Array
40, tạo một mảng bằng cách sử dụng một mảng cho các khóa và một mảng khác cho các giá trị của nó1
43
2
45
3
4
48
/* Array
0[
0$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];2
[
3$first = array[10, "Apple", 20, -18, "Monkey"];4
[
5$first = array[10, "Apple", 20, -18, "Monkey"];6
[
7$first = array[10, "Apple", 20, -18, "Monkey"];8
[
920
/* Array
0121
/* Array
03Bạn nên biết rằng hàm
/* Array
41 trả về một mảng giá trị được lập chỉ mục, /* Array
42 trả về một mảng các khóa của một mảng nhất định và /* Array
43 trao đổi khóa với các giá trị1
/* Array
052
/* Array
073
/* Array
094
/* Array
0[
3$first = array[10, "Apple", 20, -18, "Monkey"];0
[
5$first = array[10, "Apple", 20, -18, "Monkey"];2
/* Array
16$first = array[10, "Apple", 20, -18, "Monkey"];4
/* Array
18$first = array[10, "Apple", 20, -18, "Monkey"];6
/* Array
01$first = array[10, "Apple", 20, -18, "Monkey"];8
$first = array[10, "Apple", 20, -18, "Monkey"];02
Bạn có thể kiểm tra xem một mảng có chứa một giá trị cụ thể hay không và lấy khóa tương ứng đầu tiên của nó bằng cách sử dụng hàm
/* Array
44. Bạn cũng có thể sử dụng /* Array
45 nếu bạn chỉ muốn biết liệu một mảng có chứa một phần tử cụ thể hay không và không quan tâm đến vị trí của nó. Cân nhắc sử dụng hàm /* Array
46 khi bạn muốn kiểm tra xem mảng có sử dụng khóa đã cho hay không1
$first = array[10, "Apple", 20, -18, "Monkey"];04
2
3
$first = array[10, "Apple", 20, -18, "Monkey"];07
4
$first = array[10, "Apple", 20, -18, "Monkey"];09
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];11
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];13
$first = array[10, "Apple", 20, -18, "Monkey"];2
$first = array[10, "Apple", 20, -18, "Monkey"];4
$first = array[10, "Apple", 20, -18, "Monkey"];16
$first = array[10, "Apple", 20, -18, "Monkey"];6
$first = array[10, "Apple", 20, -18, "Monkey"];18
$first = array[10, "Apple", 20, -18, "Monkey"];8
$first = array[10, "Apple", 20, -18, "Monkey"];11
20
$first = array[10, "Apple", 20, -18, "Monkey"];22
21
23
$first = array[10, "Apple", 20, -18, "Monkey"];25
25
27
$first = array[10, "Apple", 20, -18, "Monkey"];28
29
$first = array[10, "Apple", 20, -18, "Monkey"];30
print_r[$first];1
print_r[$first];3
$first = array[10, "Apple", 20, -18, "Monkey"];33
print_r[$first];5
$first = array[10, "Apple", 20, -18, "Monkey"];35
print_r[$first];7
print_r[$first];9
$first = array[10, "Apple", 20, -18, "Monkey"];38
31
32
$first = array[10, "Apple", 20, -18, "Monkey"];41
34
$first = array[10, "Apple", 20, -18, "Monkey"];43
36
$first = array[10, "Apple", 20, -18, "Monkey"];11
38
$first = array[10, "Apple", 20, -18, "Monkey"];47
Như ví dụ trên cho thấy, hãy đảm bảo bạn sử dụng kiểm tra loại nghiêm ngặt nếu bạn không muốn có bất kỳ kết quả không mong muốn nào
Nếu bạn muốn tra cứu nhiều phần tử trong một mảng, thì việc kiểm tra xem mảng đó có chứa một giá trị cụ thể hay không sẽ nhanh hơn bằng cách lật mảng đó bằng
/* Array
43 và sau đó sử dụng /* Array
46 trước tiênLàm cho mã của bạn ngắn hơn
Hàm
/* Array
49, không hẳn là một hàm mà là một cấu trúc ngôn ngữ, được thiết kế để gán biến một cách ngắn gọn. Ví dụ: đây là một ví dụ cơ bản về cách sử dụng hàm /* Array
491
$first = array[10, "Apple", 20, -18, "Monkey"];49
2
$first = array[10, "Apple", 20, -18, "Monkey"];51
3
4
$first = array[10, "Apple", 20, -18, "Monkey"];54
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];56
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];58
$first = array[10, "Apple", 20, -18, "Monkey"];2
$first = array[10, "Apple", 20, -18, "Monkey"];60
$first = array[10, "Apple", 20, -18, "Monkey"];4
$first = array[10, "Apple", 20, -18, "Monkey"];6
$first = array[10, "Apple", 20, -18, "Monkey"];63
$first = array[10, "Apple", 20, -18, "Monkey"];8
$first = array[10, "Apple", 20, -18, "Monkey"];65
Cấu trúc này hoạt động hoàn hảo với các chức năng như
/* Array
51 hoặc /* Array
52. Ngoài ra, bạn có thể bỏ qua một số tham số nếu không cần xác định1____367____4____369
3
$first = array[10, "Apple", 20, -18, "Monkey"];71
Ngoài ra,
/* Array
49 có thể được sử dụng với /* Array
54, điều này làm cho cấu trúc này thậm chí còn tốt hơn1
$first = array[10, "Apple", 20, -18, "Monkey"];73
2
3
$first = array[10, "Apple", 20, -18, "Monkey"];76
4
$first = array[10, "Apple", 20, -18, "Monkey"];78
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];80
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];11
Với hàm
/* Array
55, bạn có thể xuất một mảng kết hợp thành các biến. Đối với mỗi phần tử của một mảng, một biến sẽ được tạo với tên của khóa và giá trị là giá trị của phần tử1____384______4
$first = array[10, "Apple", 20, -18, "Monkey"];86
3
$first = array[10, "Apple", 20, -18, "Monkey"];88
4
$first = array[10, "Apple", 20, -18, "Monkey"];90
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];92
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];2
$first = array[10, "Apple", 20, -18, "Monkey"];95
$first = array[10, "Apple", 20, -18, "Monkey"];4
$first = array[10, "Apple", 20, -18, "Monkey"];6
$first = array[10, "Apple", 20, -18, "Monkey"];98
Xin lưu ý rằng
/* Array
55 không an toàn nếu bạn đang làm việc với dữ liệu người dùng [chẳng hạn như kết quả của các yêu cầu], vì vậy, tốt hơn là sử dụng chức năng này với các cờ /* Array
57 và /* Array
58Ngược lại với hàm trước đó là hàm
/* Array
59, tạo một mảng kết hợp từ các biến1
200
2
202
3
204
4
/* Array
0207
$first = array[10, "Apple", 20, -18, "Monkey"];0
[
0$first = array[10, "Apple", 20, -18, "Monkey"];2
$first = array[10, "Apple", 20, -18, "Monkey"];4
[
3$first = array[10, "Apple", 20, -18, "Monkey"];6
[
5$first = array[10, "Apple", 20, -18, "Monkey"];8
216
20
218
21
220
23
$first = array[10, "Apple", 20, -18, "Monkey"];02
Chức năng lọc
Có một chức năng tuyệt vời để lọc mảng và nó được gọi là
/* Array
60. Truyền mảng dưới dạng tham số đầu tiên và hàm ẩn danh làm tham số thứ hai. Trả lại /* Array
61 trong hàm gọi lại nếu bạn muốn để nguyên phần tử này trong mảng và /* Array
62 nếu bạn không muốn1
224
2
3
227
4
229
/* Array
0231
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];2
234
Có một cách để lọc không chỉ theo các giá trị. Bạn có thể sử dụng
/* Array
63 hoặc /* Array
64 làm tham số thứ ba để chuyển khóa hoặc cả giá trị và khóa cho hàm gọi lạiNgoài ra, bạn có thể gọi
/* Array
60 mà không cần gọi lại để xóa tất cả các giá trị trống1
236______4
3
239
4
/* Array
0242
Bạn chỉ có thể nhận các giá trị duy nhất từ một mảng bằng cách sử dụng hàm
/* Array
66. Lưu ý rằng hàm sẽ bảo toàn các khóa của các phần tử duy nhất đầu tiên1
244
2
246
3
4
249
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];0
[
3$first = array[10, "Apple", 20, -18, "Monkey"];2
[
5$first = array[10, "Apple", 20, -18, "Monkey"];4
256
$first = array[10, "Apple", 20, -18, "Monkey"];6
258
$first = array[10, "Apple", 20, -18, "Monkey"];8
260
20
262
21
264
23
/* Array
03Với
/* Array
67, bạn có thể nhận danh sách các giá trị cột từ một mảng nhiều chiều, chẳng hạn như câu trả lời từ cơ sở dữ liệu SQL hoặc nội dung nhập từ tệp CSV. Chỉ cần chuyển một mảng và tên cột1
$first = array[10, "Apple", 20, -18, "Monkey"];84______4
270
3
272
4
274
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];92
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];2
279
$first = array[10, "Apple", 20, -18, "Monkey"];4
$first = array[10, "Apple", 20, -18, "Monkey"];6
282
Bắt đầu từ PHP 7,
/* Array
67 thậm chí còn trở nên mạnh mẽ hơn vì giờ đây nó được phép. Vì vậy, làm việc với một loạt các mô hình trở nên dễ dàng hơn1
284____4
286
Đi bộ qua các mảng
Sử dụng
/* Array
69, bạn có thể áp dụng lệnh gọi lại cho mọi phần tử của mảng. Bạn có thể chuyển tên hàm hoặc hàm ẩn danh để nhận một mảng mới dựa trên mảng đã cho1
288
2
290
3
4
293
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];0
296
$first = array[10, "Apple", 20, -18, "Monkey"];2
298
$first = array[10, "Apple", 20, -18, "Monkey"];4
print_r[$first];00
$first = array[10, "Apple", 20, -18, "Monkey"];6
print_r[$first];02
$first = array[10, "Apple", 20, -18, "Monkey"];8
20
print_r[$first];05
Có một huyền thoại rằng không có cách nào để chuyển các giá trị và khóa của một mảng thành một cuộc gọi lại, nhưng chúng ta có thể phá vỡ nó
1
print_r[$first];07
2
3
print_r[$first];10
4
print_r[$first];12
/* Array
0print_r[$first];14
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];2
print_r[$first];17
$first = array[10, "Apple", 20, -18, "Monkey"];4
print_r[$first];19
$first = array[10, "Apple", 20, -18, "Monkey"];6
$first = array[10, "Apple", 20, -18, "Monkey"];8
[
320
[
521
print_r[$first];26
23
print_r[$first];28
25
$first = array[10, "Apple", 20, -18, "Monkey"];02
Nhưng điều này có vẻ bẩn. Tốt hơn nên sử dụng
/* Array
70 để thay thế. Chức năng này trông giống như /* Array
69, nhưng nó hoạt động khác. Trước hết, một mảng được truyền bằng cách sử dụng một tham chiếu, vì vậy /* Array
70 không tạo một mảng mới mà thay đổi một mảng đã cho. Vì vậy, với tư cách là một mảng nguồn, bạn có thể chuyển giá trị mảng bằng tham chiếu trong hàm gọi lại. Các phím mảng cũng có thể được chuyển dễ dàng1
print_r[$first];32______4
print_r[$first];34
3
print_r[$first];36
4
print_r[$first];38
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];92
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];2
print_r[$first];43
$first = array[10, "Apple", 20, -18, "Monkey"];4
print_r[$first];45
$first = array[10, "Apple", 20, -18, "Monkey"];6
231
$first = array[10, "Apple", 20, -18, "Monkey"];8
20
print_r[$first];50
21
23
[
325
[
527
print_r[$first];57__
29
print_r[$first];59_____1___1___53
Tham gia mảng
Cách tốt nhất để hợp nhất hai hoặc nhiều mảng trong PHP là sử dụng hàm
/* Array
73. Các mục của mảng sẽ được hợp nhất với nhau và các giá trị có cùng khóa chuỗi sẽ được ghi đè bằng giá trị cuối cùng1
print_r[$first];65
2
print_r[$first];67
3
4
print_r[$first];70
/* Array
0print_r[$first];72
$first = array[10, "Apple", 20, -18, "Monkey"];0
[
3$first = array[10, "Apple", 20, -18, "Monkey"];2
[
5$first = array[10, "Apple", 20, -18, "Monkey"];4
print_r[$first];78
$first = array[10, "Apple", 20, -18, "Monkey"];6
print_r[$first];80
$first = array[10, "Apple", 20, -18, "Monkey"];8
print_r[$first];82
20
print_r[$first];84
21
/* Array
03Để xóa các giá trị mảng khỏi một mảng [hoặc nhiều mảng] khác, hãy sử dụng
/* Array
74. Để nhận các giá trị có trong các mảng nhất định, hãy sử dụng /* Array
75. Các ví dụ tiếp theo sẽ cho thấy nó hoạt động như thế nào1
print_r[$first];88
2
print_r[$first];90
3
4
print_r[$first];93
/* Array
0print_r[$first];95
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];2
print_r[$first];98
$first = array[10, "Apple", 20, -18, "Monkey"];4
300
Làm phép toán với các giá trị mảng
Sử dụng
/* Array
76 để tính tổng các giá trị mảng, /* Array
77 để nhân chúng hoặc tạo công thức của riêng bạn với /* Array
781
302
2
3
305
4
307
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];0
310
$first = array[10, "Apple", 20, -18, "Monkey"];2
312
$first = array[10, "Apple", 20, -18, "Monkey"];4
314
Để đếm tất cả các giá trị của một mảng, hãy sử dụng
/* Array
79. Nó sẽ cung cấp tất cả các giá trị duy nhất của một mảng nhất định dưới dạng khóa và số lượng các giá trị này dưới dạng giá trị1
316
2
318
3
4
321
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];0
[
3$first = array[10, "Apple", 20, -18, "Monkey"];2
[
5$first = array[10, "Apple", 20, -18, "Monkey"];4
328
$first = array[10, "Apple", 20, -18, "Monkey"];6
330
$first = array[10, "Apple", 20, -18, "Monkey"];8
332
20
$first = array[10, "Apple", 20, -18, "Monkey"];02
Tạo mảng
Để tạo một mảng có kích thước nhất định và cùng một giá trị, hãy sử dụng
/* Array
801____636
2
338
Để tạo một mảng có nhiều khóa và giá trị, chẳng hạn như giờ trong ngày hoặc chữ cái, hãy sử dụng range[]
1____640
2
342
3
4
345
/* Array
0347
Để lấy một phần của mảng—ví dụ: chỉ ba phần tử đầu tiên—hãy sử dụng
/* Array
811____649
2____651
3
353
Nếu bạn muốn tạo một mảng kết hợp với các khóa khác nhau và cùng một giá trị được gán cho mỗi khóa, bạn chỉ cần sử dụng hàm
/* Array
821
355
2
357
3
4
360
/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];0
/* Array
$first = array[10, "Apple", 20, -18, "Monkey"];2
[
$first = array[10, "Apple", 20, -18, "Monkey"];4
367
$first = array[10, "Apple", 20, -18, "Monkey"];6
369
$first = array[10, "Apple", 20, -18, "Monkey"];8
371
20
$first = array[10, "Apple", 20, -18, "Monkey"];9
Sắp xếp mảng
Bạn nên nhớ rằng mọi hàm sắp xếp trong PHP đều hoạt động với các mảng theo một tham chiếu và trả về true khi thành công hoặc false khi thất bại. Có một hàm sắp xếp cơ bản có tên là
/* Array
83 và hàm này sắp xếp các giá trị theo thứ tự tăng dần mà không giữ nguyên khóa. Chức năng sắp xếp có thể được thêm vào trước bởi các chữ cái sau- a, sắp xếp khóa bảo toàn
- k, sắp xếp theo phím
- r, sắp xếp theo thứ tự đảo ngược/giảm dần
- u, sắp xếp với chức năng người dùng
Bạn có thể thấy sự kết hợp của các chữ cái này trong bảng sau
akrua_______084
/* Array
85/* Array
86k/* Array
87/* Array
88r
/* Array
85/* Array
88/* Array
91u
/* Array
86/* Array
93Kết hợp các chức năng mảng giống như một ông chủ
Điều kỳ diệu thực sự bắt đầu khi bạn bắt đầu kết hợp các hàm mảng. Đây là cách bạn có thể cắt và xóa các giá trị trống chỉ trong một dòng mã với
/* Array
60 và /* Array
691____675______4
3
378
4
380
Để tạo id cho bản đồ tiêu đề từ một loạt các mô hình, chúng ta có thể sử dụng kết hợp
/* Array
40 và /* Array
671
382
2
3
385
4
387
/* Array
0389
$first = array[10, "Apple", 20, -18, "Monkey"];0
391
Để lấy ba giá trị trên cùng của một mảng, chúng ta có thể sử dụng
/* Array
79, /* Array
85 và /* Array
811
393
2
3
396
4
398
/* Array
0/* Array
00$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];2
/* Array
03$first = array[10, "Apple", 20, -18, "Monkey"];4
[
3$first = array[10, "Apple", 20, -18, "Monkey"];6
[
5$first = array[10, "Apple", 20, -18, "Monkey"];8
/* Array
0920
/* Array
1121
/* Array
1323
$first = array[10, "Apple", 20, -18, "Monkey"];02
Thật dễ dàng để sử dụng
/* Array
76 và /* Array
69 để tính tổng thứ tự trong một vài hàng1
/* Array
17______4/* Array
193
/* Array
214
/* Array
23/* Array
0$first = array[10, "Apple", 20, -18, "Monkey"];92
$first = array[10, "Apple", 20, -18, "Monkey"];0
$first = array[10, "Apple", 20, -18, "Monkey"];2
/* Array
28$first = array[10, "Apple", 20, -18, "Monkey"];4
/* Array
30$first = array[10, "Apple", 20, -18, "Monkey"];6
/* Array
32$first = array[10, "Apple", 20, -18, "Monkey"];8
20
/* Array
35Phần kết luận
Như bạn có thể thấy, kiến thức về các hàm mảng chính có thể làm cho mã của bạn ngắn hơn và dễ đọc hơn. Tất nhiên, PHP có nhiều hàm mảng hơn và thậm chí các hàm đã cho cũng có nhiều biến thể để sử dụng với các tham số và cờ bổ sung, nhưng tôi nghĩ rằng trong hướng dẫn này, chúng ta đã đề cập đến những điều cơ bản mà mọi nhà phát triển PHP nên biết
Học PHP với một khóa học trực tuyến miễn phí
Nếu bạn muốn học PHP, hãy xem khóa học trực tuyến miễn phí của chúng tôi về các nguyên tắc cơ bản của PHP
Trong khóa học này, bạn sẽ học các nguyên tắc cơ bản của lập trình PHP. Bạn sẽ bắt đầu với những kiến thức cơ bản, học cách PHP hoạt động và viết các hàm và vòng lặp PHP đơn giản. Sau đó, bạn sẽ xây dựng các lớp mã hóa để lập trình hướng đối tượng đơn giản [OOP]. Đồng thời, bạn sẽ học tất cả các kỹ năng quan trọng nhất để viết ứng dụng cho web. bạn sẽ có cơ hội thực hành phản hồi các yêu cầu GET và POST, phân tích cú pháp JSON, xác thực người dùng và sử dụng cơ sở dữ liệu MySQL