Mảng (Array) PHP và cách khai báo mảng trong PHP | Ironhack VN

Mảng trong PHP (array) là một kiểu dữ liệu đặc biệt, cùng lúc có thể chứa nhiều hơn một phần tử trong một biến duy nhất.

Sử dụng mảng mang lại nhiều quyền lợi nhất định, trong đó có việc giảm thiểu ngân sách và thời hạn triển khai dự án Bất Động Sản .
Thế nhưng, bạn đã nắm rõ những mảng thông dụng và công dụng của chúng hay chưa ?

Mảng trong PHP là gì?

Mảng trong PHP hay Array PHP là một kiểu cấu trúc dữ liệu cho phép bạn lưu trữ nhiều phần tử của kiểu dữ liệu tương tự nhau dưới một biến duy nhất.

Nhờ đó, bạn sẽ tiết kiệm chi phí được thời hạn và sức lực lao động, không cần phải tạo ra từng biến cho từng tài liệu .
mảng và các hàm xử lý trong php

Các mảng trong PHP cũng giúp tạo ra danh danh các phần tử có kiểu tương tự, có thể được truy cập bằng chỉ mục hoặc key của chúng.

Mảng được tạo ra bằng cách sử dụng hàm array ( ) trong PHP .

Array PHP hoạt động như thế nào?

Như bạn đã biết, các mảng chính là các biến có thể chứa nhiều hơn một giá trị. Dưới đây là một số thông tin cơ bản về mảng PHP:

  • Một mảng có thể chứa bất kỳ số lượng value nào, thậm chí là có thể không có value nào
  • Mỗi value trong một mảng được gọi là phần tử
  • Bạn truy cập từng phần tử thông qua chỉ mục của nó, là một giá trị số hoặc chuỗi. Mỗi phần tử trong mảng sẽ có mỗi chỉ mục duy nhất tương ứng.
  • Một phần tử có thể lưu trữ bất kỳ kiểu value nào, chẳng hạn như số nguyên, chuỗi hoặc kiểu dữ liệu Boolean. Bạn có thể kết hợp các kiểu này trong cùng một mảng
  • Độ dài của mảng là số phần tử trong mảng
  • Bản thân value của phần tử mảng có thể là một mảng. Do đó, bạn có thể tạo ra các mảng đa chiều.

Lợi ích của việc sử dụng mảng (array) trong PHP

Dưới đây là những lợi ích mà mảng PHP mang lại:

  • Dễ thao tác, thêm hoặc xóa các phần tử trong một mảng, chẳng hạn như đọc hoặc thay đổi value của một phần tử.
  • Dễ dàng làm việc với nhiều value cùng một lúc. Bạn có thể xem đi xem lại tất cả các phần tử trong một mảng, đọc hoặc thay đổi value của từng phần tử trong quá trình xem đi xem lại các phần tử đó.
  • PHP cung cấp cho bạn nhiều hàm liên quan đến mảng rất hữu ích. Ví dụ: sắp xếp các phần tử mảng nhanh chóng và dễ dàng, tìm kiếm mảng cho các value hoặc chỉ số cụ thể, hợp nhất các mảng với nhau,…

Các loại mảng trong PHP

Có 3 loại mảng khác nhau và mỗi value của mảng đều được truy vấn bằng ID C được gọi là chỉ số mảng :

  • Mảng chỉ số: Các value được lưu trữ và truy cập theo kiểu tuyến tính.
  • Mảng kết hợp: Các value của phần tử kết hợp được lưu trữ với các giá trị key thay vì theo một thứ tự chỉ mục tuyến tính nghiêm ngặt.
  • Mảng đa chiều: Mảng chứa một hoặc nhiều mảng và value được truy cập bằng nhiều chỉ số

Để giúp bạn hiểu sâu hơn, tôi sẽ nêu rõ thông tin chi tiết và ví dụ minh họa về 3 loại mảng trong PHP này:

Mảng chỉ số

Các mảng này hoàn toàn có thể tàng trữ số, chuỗi và bất kể đối tượng người tiêu dùng nào nhưng chỉ mục của chúng sẽ được trình diễn bằng những số. Theo mặc định, chỉ mục mảng mở màn từ số 0 .
Ví dụ :
Trong ví dụ này, bạn sẽ thấy được cách tạo và truy vấn mảng chỉ số
Ở đây, tôi sử dụng hàm array ( ) để tạo mảng .

/ * First method to create array. * /
USD numbers = array ( 1, 2, 3, 4, 5 ) ;
foreach ( USD numbers as USD value ) {

echo “Value is $value
”;

}
/ * Second method to create array. * /
USD numbers [ 0 ] = “ one ” ;
USD numbers [ 1 ] = “ two ” ;
USD numbers [ 2 ] = “ three ” ;
USD numbers [ 3 ] = “ four ” ;
USD numbers [ 4 ] = “ five ” ;
foreach ( USD numbers as USD value ) {

echo “Value is $value
”;

}
? >

Và tác dụng sẽ như sau :
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is one
Value is two
Value is three
Value is four
Value is five

Mảng kết hợp

Mảng tích hợp tương tự như như mảng chỉ số về mặt công dụng nhưng chúng lại khác nhau về mặt chỉ mục. Mảng phối hợp có chỉ mục dạng chuỗi giúp bạn hoàn toàn có thể thiết lập link ngặt nghèo giữa key và value .
Cùng xem xét ví dụ dưới đây :
Để tàng trữ lương của nhân viên cấp dưới trong một mảng, bạn không nên lựa chọn mảng được lập chỉ mục bằng số .
Thay vào đó, hãy sử dụng tên nhân viên cấp dưới làm key trong mảng tích hợp và value sẽ là mức lương tương ứng của họ
Lưu ý : Không để mảng tích hợp trong dấu ngoặc kép khi in nếu không nó sẽ không trả về bất kể value nào

/ * First method to associate create array. * /
USD salaries = array ( “ mohammad ” => 2000, “ qadir ” => 1000, “ zara ” => 500 ) ;

echo “Salary of mohammad is “. $salaries[‘mohammad’]. “
”;

echo “Salary of qadir is “. $salaries[‘qadir’]. “
”;

echo “Salary of zara is “. $salaries[‘zara’]. “
”;

/ * Second method to create array. * /
USD salaries [ ‘ mohammad ’ ] = “ high ” ;

$salaries[‘qadir’] = “medium”;

USD salaries [ ‘ zara ’ ] = “ low ” ;

echo “Salary of mohammad is “. $salaries[‘mohammad’]. “
”;

echo “Salary of qadir is “. $salaries[‘qadir’]. “
”;

echo “Salary of zara is “. $salaries[‘zara’]. “
”;

? >

Và hiệu quả sẽ như sau :
Salary of mohammad is 2000
Salary of qadir is 1000
Salary of zara is 500
Salary of mohammad is high
Salary of qadir is medium
Salary of zara is low

Mảng đa chiều

Mỗi phần tử trong mảng đa chiều trong PHP cũng 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,…

Các giá trị trong mảng đa chiều trong PHP được tiếp cận bằng cách sử dụng chỉ mục đa chiều .
Trong ví dụ dưới đây, tôi tạo một mảng hai chiều để tàng trữ điểm của ba học viên ở ba môn học .
Ví dụ này là một mảng phối hợp. Tuy nhiên, bạn cũng hoàn toàn có thể tự tạo ra mảng chỉ số

USD marks = array (
“ mohammad ” => array (
“ physics ” => 35 ,
“ maths ” => 30 ,
“ chemistry ” => 39
) ,
“ qadir ” => array (
“ physics ” => 30 ,
“ maths ” => 32 ,
“ chemistry ” => 29
) ,
“ zara ” => array (
“ physics ” => 31 ,
“ maths ” => 22 ,
“ chemistry ” => 39
)
) ;
/ * Accessing multi-dimensional array values * /
echo “ Marks for mohammad in physics : ” ;

echo $marks[‘mohammad’][‘physics’]. “
”;

echo “ Marks for qadir in maths : “ ;

echo $marks[‘qadir’][‘maths’]. “
”;

echo “ Marks for zara in chemistry : ” ;

echo $marks[‘zara’][‘chemistry’]. “
”;

? >

Và hiệu quả sẽ như sau :
Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39

Các hàm xử lý mảng trong PHP

Dưới đây là bảng danh sách các hàm xử lý mảng trong PHP và chức năng của chúng

STT Hàm Chức năng
1 array_change_key_case Thay đổi kiểu chữ in hoa, in thường của tất cả các key trong một mảng
2 array_chunk Chia mảng thành nhiều phần
3 array_column Trả về các value từ một cột riêng lẻ trong mảng đầu vào
4 array_combine Tạo một mảng bằng cách sử dụng một mảng làm key và những mảng khác làm value của nó
5 array_count_values Đếm tất cả các value của một mảng
6 array_diff_assoc Chỉ ra sự khác biệt của các mảng bằng cách kiểm tra chỉ mục bổ sung
7 array_diff_key Chỉ ra sự khác biệt của các mảng bằng cách so sánh các key
8 array_diff_uassoc Chỉ ra sự khác biệt giữa các mảng bằng cách sử dụng kiểm tra chỉ mục bổ sung được thực hiện bởi một hàm gọi lại do người dùng chỉ định
9 array_diff_ukey Chỉ ra sự khác biệt giữa các mảng bằng cách sử dụng hàm gọi trên các key được so sánh
10 array_diff Chỉ ra sự khác biệt giữa các mảng
11 array_fill_keys Điền các value, key được chỉ định vào một mảng
12 array_fill Điều các value vào một mảng
13 array_filter Lọc các phần tử của một màng bằng cách sử dụng hàm gọi lại
14 array_flip Trao đổi tất cả các key với các value liên kết của chúng trong một mảng
15 array_intersect_assoc Chỉ ra giao điểm của các mảng bằng cách kiểm tra chỉ mục bổ sung
16 array_intersect_key Chỉ ra giao điểm của các hàm bằng cách so sánh các key
17 array_intersect_uassoc Chỉ ra giao điểm của các mảng bằng cách kiểm tra chỉ mục bổ sung, sử dụng hàm gọi lại để so sánh các chỉ mục này
18 array_intersect_ukey So sánh các key bằng cách sử dụng hàm gọi lại để tìm ra giao điểm của các mảng
19 array_intersect Chỉ ra giao điểm của các mảng
20 array_key_exists Kiểm tra xem key hoặc chỉ mục được cung cấp có tồn tại trong mảng hay không
21 array_key_first Nhận key đầu tiên của mảng
22 array_key_last Nhận key cuối cùng của mảng
23 array_keys Trả về tất cả các key hoặc một tập hợp con các key nằm trong mảng
24 array_map Áp dụng lệnh gọi lại cho các phần tử nằm trong mảng được cung cấp
25 array_merge_recursive Hợp nhất một hoặc nhiều mảng theo phương pháp đệ quy
26 array_merge Hợp nhất một hoặc nhiều mảng
27 array_multisort Sắp xếp các mảng nhiều hoặc đa chiều
28 array_pad Đệm một mảng đến độ dài được chỉ định bằng một value
29 array_pop Loại bỏ phần tử ra khỏi phần cuối của mảng
30 array_product Tính toán tích các giá trị trong một mảng
31 array_push Đẩy một hoặc nhiều phần tử về cuối mảng
32 array_rand Lấy một hoặc nhiều key ngẫu nhiên từ một mảng
33 array_reduce Giảm nhiều lần để mảng thành một value đơn bằng cách sử dụng hàm gọi lại.
34 array_replace_recursive Thay thế các phần tử từ các mảng đã được truyền vào mảng đầu tiên theo phương pháp đệ quy
35 array_replace Thay thế các phần tử từ các mảng đã được truyền vào mảng đầu tiên
36 array_reverse Trả về một mảng có các phần tử được sắp xếp theo thứ tự ngược lại
37 array_search Tìm kiếm mảng cho một value được chỉ định và trả về key tương ứng đầu tiên nếu thành công
38 array_shift Dịch chuyển một phần tử ra khỏi đầu mảng
39 array_slice Trích xuất một phần của mảng
40 array_splice Xóa một phần của mảng và thay thế nó bằng một phần khác
41 array_sum Tính tổng các value trong một mảng
42 array_udiff_assoc Chỉ ra sự khác biệt giữa các mảng bằng cách kiểm tra chỉ mục bổ sung, sử dụng hàm gọi lại để so sánh dữ liệu
43 array_udiff_uassoc Chỉ ra sự khác biệt giữa các mảng bằng cách kiểm tra chỉ mục bổ sung, sử dụng hàm gọi lại để so sánh dữ liệu và chỉ mục
44 array_udiff Chỉ ra sự khác biệt giữa các mảng bằng cách sử dụng hàm gọi lại để so sánh dữ liệu
45 array_uintersect_assoc Chỉ ra giao điểm của các mảng bằng cách kiểm tra chỉ mục bổ sung, sử dụng hàm gọi lại để so sánh dữ liệu
46 array_uintersect_uassoc Chỉ ra giao điểm của các mảng bằng cách kiểm tra chỉ mục bổ sung, sử dụng hàm gọi riêng biệt lại để so sánh dữ liệu và chỉ mục
47 array_uintersect Chỉ ra giao điểm của các mảng, sử dụng hàm gọi lại để so sánh dữ liệu
48 array_unique Loại bỏ các value trùng lặp trong một mảng
49 array_unshift Thêm một hoặc nhiều phần tử vào đầu mảng
50 array_values Trả về tất cả value của một mảng
51 array_walk_recursive Áp dụng hàm do người dùng cung cấp theo phương pháp đệ quy cho tất cả thành viên của mảng
52 array_walk Áp dụng hàm cho người dùng cung cấp cho tất cả thành viên của mảng
53 array Tạo một mảng
54 arsort Sắp xếp một mảng theo thứ tự ngược lại nhưng vẫn đảm bảo liên kết chỉ mục
55 asort Sắp xếp một mảng và đảm bảo liên kết chỉ mục
56 compact Tạo mảng chứa các biến và value của chúng
57 count Đếm số phần tử trong mảng PHP, hoặc bất cứ thứ gì trong một đối tượng
58 current Trả về phần tử hiện tại trong mảng
59 each Trả về cặp key và value hiện tại của một mảng và nâng cấp con trỏ mảng
60 end Đặt con trỏ nội bộ của một mảng vào phần tử cuối cùng của nó
61 extract Nhập các biến vào bảng ký hiệu hiện tại của mảng
62 in_array Kiểm tra một value có tồn tại trong mảng hay không
63 key_exists Tạo bí danh cho hàm array_key_exists
64 key Tìm một key trong mảng
65 krsort Sắp xếp mảng sau khi key đã được sắp xếp theo thứ tự ngược lại
66 ksort Sắp xếp mảng theo key
67 list Gắn các biến như thể chúng là một mảng
68 natcasesort Sắp xếp mảng bằng thuật toán “thứ tự tự nhiên” mà không phân biệt chữ hoa, chữ thường
69 natsort Sắp xếp mảng bằng thuật toán “thứ tự tự nhiên”
70 next Nâng cấp con trỏ nội bộ của mảng
71 pos Tạo bí danh cho hàm hiện tại
72 prev Cuộn lại con trỏ nội bộ
73 range Tạo một mảng chứa một loạt phần tử
74 reset Đặt con trỏ nội bộ của mảng vào phần tử đầu tiên của nó
75 rsort Sắp xếp mảng theo thứ tự ngược lại
76 shuffle Xáo trộn một mảng
77 sizeof Tạo bí danh cho hàm count
78 sort Sắp xếp mảng
79 uasort Sắp xếp mảng bằng hàm so sánh do người dùng xác định nhưng vẫn duy trì liên kết chỉ mục
80 uksort Sắp xếp mảng theo các key bằng cách sử dụng hàm so sánh do người dùng xác định
81 usort Sắp xếp mảng theo value bằng cách sử dụng hàm so sánh do người dùng xác định

Học cách ứng dụng mảng trong lập trình web thực tế tại Ironhack Việt Nam

Nếu muốn tìm hiểu kiến thức về lập trình, đặc biệt là cách ứng dụng array PHP vào thực tế, từ con số 0 thì Ironhack chính là sự lựa chọn đáng tin cậy dành cho bạn.

Ironhack có các khóa học lập trình PHP từ cơ bản đến nâng cao. Bên cạnh đó, còn tư vấn lộ trình học tập tùy thuộc vào trình độ và định hướng của mỗi học viên.

Ironhack ứng dụng chiêu thức Learning by doing vào giảng dạy, giúp học viên củng cố kiến thức và kỹ năng triết lý trải qua những yếu tố, dự án Bất Động Sản thực tiễn .
Chỉ với 120 ngày học, học viên có thời cơ trở thành lập trình viên front-end, lập trình viên back-end và thậm chí còn là lập trình viên full-stack .

Đặc biệt, Ironhack còn cam kết hỗ trợ trong quá trình học viên thực tập tại các công ty công nghệ.

Bên cạnh đó, hoàn trả học phí nếu sau khi kết thúc khóa học, học viên không hề tìm được việc làm đúng trình độ .
array php

Kết luận

Hy vọng qua bài viết này, bạn đã hiểu rõ hơn về mảng trong PHP là gì và biết được một số hàm xử lý mảng thông dụng.

Nếu bạn mong ước trở thành một developer chuyên nghiệp thì hãy nhanh gọn vạch ra lộ trình học tập càng sớm càng tốt nhé .