Hướng dẫn dùng br 32 trong PHP

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 lợi ích nhất định, trong đó có việc giảm thiểu chi phí và thời gian thực hiện dự án.

Thế nhưng, bạn đã nắm rõ các mảng thông dụng và chức nă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 được thời gian và công sức, không cần phải tạo ra từng biến cho từng dữ liệu.

Hướng dẫn dùng br 32 trong PHP
Hướng dẫn dùng br 32 trong PHP

Mảng trong PHP là gì?

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 cập 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 có thể lưu trữ số, chuỗi và bất cứ đối tượng nào nhưng chỉ mục của chúng sẽ được biểu diễn bằng các số. Theo mặc định, chỉ mục mảng bắt đầu từ số 0.

Ví dụ:

Trong ví dụ này, bạn sẽ thấy được cách tạo và truy cập mảng chỉ số

Ở đây, tôi sử dụng hàm array() để tạo mảng.

/* First method to create array. */

$numbers = array( 1, 2, 3, 4, 5);

foreach( $numbers as $value ) {

echo “Value is $value
”;

}

/* Second method to create array. */

$numbers[0] = “one”;

$numbers[1] = “two”;

$numbers[2] = “three”;

$numbers[3] = “four”;

$numbers[4] = “five”;

foreach( $numbers as $value ) {

echo “Value is $value
”;

}

?>

Và kết quả 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 kết hợp tương tự như mảng chỉ số về mặt chức năng nhưng chúng lại khác nhau về mặt chỉ mục. Mảng kết hợp có chỉ mục dạng chuỗi giúp bạn có thể thiết lập liên kết chặt chẽ giữa key và value.

Cùng xem xét ví dụ dưới đây:

Để lưu trữ lương của nhân viên 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 làm key trong mảng kết hợp và value sẽ là mức lương tương ứng của họ

Lưu ý: Không để mảng kết 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. */

$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. */

$salaries[‘mohammad’] = “high”;

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

$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à kết 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 để lưu trữ điểm của ba học sinh ở ba môn học.

Ví dụ này là một mảng kết hợp. Tuy nhiên, bạn cũng có thể tự tạo ra mảng chỉ số

$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à kết 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

STTHàmChức năng1array_change_key_caseThay đổi kiểu chữ in hoa, in thường của tất cả các key trong một mảng2array_chunkChia mảng thành nhiều phần3array_columnTrả về các value từ một cột riêng lẻ trong mảng đầu vào4array_combineTạ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ó5array_count_valuesĐếm tất cả các value của một mảng6array_diff_assocChỉ ra sự khác biệt của các mảng bằng cách kiểm tra chỉ mục bổ sung7array_diff_keyChỉ ra sự khác biệt của các mảng bằng cách so sánh các key8array_diff_uassocChỉ 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ỉ định9array_diff_ukeyChỉ 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ánh10array_diffChỉ ra sự khác biệt giữa các mảng11array_fill_keysĐiền các value, key được chỉ định vào một mảng12array_fillĐiều các value vào một mảng13array_filterLọc các phần tử của một màng bằng cách sử dụng hàm gọi lại14array_flipTrao đổi tất cả các key với các value liên kết của chúng trong một mảng15array_intersect_assocChỉ ra giao điểm của các mảng bằng cách kiểm tra chỉ mục bổ sung16array_intersect_keyChỉ ra giao điểm của các hàm bằng cách so sánh các key17array_intersect_uassocChỉ 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ày18array_intersect_ukeySo 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ảng19array_intersectChỉ ra giao điểm của các mảng20array_key_existsKiểm tra xem key hoặc chỉ mục được cung cấp có tồn tại trong mảng hay không21array_key_firstNhận key đầu tiên của mảng22array_key_lastNhận key cuối cùng của mảng23array_keysTrả về tất cả các key hoặc một tập hợp con các key nằm trong mảng24array_mapÁp dụng lệnh gọi lại cho các phần tử nằm trong mảng được cung cấp25array_merge_recursiveHợp nhất một hoặc nhiều mảng theo phương pháp đệ quy26array_mergeHợp nhất một hoặc nhiều mảng27array_multisortSắp xếp các mảng nhiều hoặc đa chiều28array_padĐệm một mảng đến độ dài được chỉ định bằng một value29array_popLoại bỏ phần tử ra khỏi phần cuối của mảng30array_productTính toán tích các giá trị trong một mảng31array_pushĐẩy một hoặc nhiều phần tử về cuối mảng32array_randLấy một hoặc nhiều key ngẫu nhiên từ một mảng33array_reduceGiả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.34array_replace_recursiveThay 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 đệ quy35array_replaceThay thế các phần tử từ các mảng đã được truyền vào mảng đầu tiên36array_reverseTrả về một mảng có các phần tử được sắp xếp theo thứ tự ngược lại37array_searchTì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ông38array_shiftDịch chuyển một phần tử ra khỏi đầu mảng39array_sliceTrích xuất một phần của mảng40array_spliceXóa một phần của mảng và thay thế nó bằng một phần khác41array_sumTính tổng các value trong một mảng42array_udiff_assocChỉ 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ệu43array_udiff_uassocChỉ 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ục44array_udiffChỉ 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ệu45array_uintersect_assocChỉ 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ệu46array_uintersect_uassocChỉ 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ục47array_uintersectChỉ ra giao điểm của các mảng, sử dụng hàm gọi lại để so sánh dữ liệu48array_uniqueLoại bỏ các value trùng lặp trong một mảng49array_unshiftThêm một hoặc nhiều phần tử vào đầu mảng50array_valuesTrả về tất cả value của một mảng51array_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ảng52array_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ảng53arrayTạo một mảng54arsortSắ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ục55asortSắp xếp một mảng và đảm bảo liên kết chỉ mục56compactTạo mảng chứa các biến và value của chúng57countĐếm số phần tử trong mảng PHP, hoặc bất cứ thứ gì trong một đối tượng58currentTrả về phần tử hiện tại trong mảng59eachTrả về cặp key và value hiện tại của một mảng và nâng cấp con trỏ mảng60endĐặt con trỏ nội bộ của một mảng vào phần tử cuối cùng của nó61extractNhập các biến vào bảng ký hiệu hiện tại của mảng62in_arrayKiểm tra một value có tồn tại trong mảng hay không63key_existsTạo bí danh cho hàm array_key_exists64keyTìm một key trong mảng65krsortSắp xếp mảng sau khi key đã được sắp xếp theo thứ tự ngược lại66ksortSắp xếp mảng theo key67listGắn các biến như thể chúng là một mảng68natcasesortSắ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ường69natsortSắp xếp mảng bằng thuật toán “thứ tự tự nhiên”70nextNâng cấp con trỏ nội bộ của mảng71posTạo bí danh cho hàm hiện tại72prevCuộn lại con trỏ nội bộ73rangeTạo một mảng chứa một loạt phần tử74resetĐặt con trỏ nội bộ của mảng vào phần tử đầu tiên của nó75rsortSắp xếp mảng theo thứ tự ngược lại76shuffleXáo trộn một mảng77sizeofTạo bí danh cho hàm count78sortSắp xếp mảng79uasortSắ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ục80uksortSắ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 định81usortSắ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 phương pháp Learning by doing vào giảng dạy, giúp học viên củng cố kiến thức lý thuyết thông qua các vấn đề, dự án thực tế.

Chỉ với 120 ngày học, học viên có cơ hội trở thành lập trình viên front-end, lập trình viên back-end và thậm chí 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 thể tìm được công việc đúng chuyên môn.

Hướng dẫn dùng br 32 trong PHP
Hướng dẫn dùng br 32 trong PHP

Khóa hoc PHP tại Ironhack Việt Nam

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 muốn trở thành một developer chuyên nghiệp thì hãy nhanh chóng vạch ra lộ trình học tập càng sớm càng tốt nhé.